У меня есть внутренний ASP. NET MVC сайт, который должен прочитать файл Excel. Файл находится на сервере, отличном от того, на котором работает ASP. NET MVC, и для предотвращения проблем с доступом я пытаюсь скопировать его на ASP. NET MVC сервер.
На моем компьютере разработчика он работает нормально, но когда он развернут на сервере, он не видит путь.
Это код срубленной модели (C#):
string fPath = HttpContext.Current.Server.MapPath(@"/virtualdir");
string fName = fPath + "test.xlsm";
if (System.IO.File.Exists(fName))
{
// Copy the file and do what's necessary
}
else
{
if (!Directory.Exists(fPath))
throw new Exception($"Directory not found: {fPath} ");
else
throw new Exception($"File not found: {fName } ");
}
Я получаю ошибку:
Каталог не найден:
, за которым следует путь.
путь в ошибке правильный - я скопировал и вставил его в проводник, и он разрешается. ОК.
Я попытался использовать полный путь UN C, подключенный сетевой диск и виртуальный каталог (как в коде выше). При необходимости им были предоставлены права сетевого администратора (только для тестирования!), Но все равно ничего не получалось.
Внутренний веб-сайт использует сквозную аутентификацию, но я использовал определенные c учетные данные с полными правами администратора для виртуальный каталог, и виртуальный каталог в IIS расширяется OK до требуемой папки.
Я также пытался предоставить пулу приложений (который работает в интегрированном режиме) полные права администратора сети.
I Надеюсь, я просто упустил что-то простое, и это не «функция безопасности».
Я нашел этот вопрос Копирование файлов между серверами asp. net mvc но ответом было использование FTP, и я не хочу go идти по этому маршруту, если смогу его избежать.
Любая помощь будет высоко оценена.