Server.MapPath (), возвращающий путь, который не существует при использовании с DirectoryInfo - PullRequest
2 голосов
/ 20 июля 2010

У меня есть настройка виртуального каталога в IIS6. Это соответствует общему сетевому диску.

Я могу правильно отобразить путь, используя

string mappedPath = HttpContext.Current.Server.MapPath(path);

Затем я создаю объект DirectoryInfo, поскольку хочу найти некоторые файлы в каталоге.

DirectoryInfo updateDirectory = new DirectoryInfo(mappedPath);

Но тогда updateDirectory.Exists ложно ?? Я могу взять строку из mappedPath и скопировать в Пуск-> Выполнить, чтобы найти путь, чтобы я знал, что он существует. Я выполняю аутентификацию на веб-сервисе с использованием встроенной аутентификации Windows и имею права доступа к необходимым папкам.

Есть ли что-то очевидное, чего мне не хватает в коде? Или это чисто настройка и настройка IIS и т. Д.?

Ответы [ 2 ]

4 голосов
/ 20 июля 2010

Вам необходимо проверить, есть ли у вашей учетной записи рабочего процесса службы права доступа к этой папке. Аутентификация Windows AFAIK не приводит к олицетворению рабочего процесса, поэтому она может отличаться в зависимости от действия Windows. В качестве альтернативы (просто для доказательства проблем с учетной записью) вы можете запустить пул приложений, используя свою учетную запись, чтобы проверить, исчезнет ли проблема.

2 голосов
/ 20 июля 2010

По этой ссылке:

http://bytes.com/topic/asp-net/answers/471616-server-mappath-virtual-directories

Server.MapPath не дает ожидаемого вывода при использовании с виртуальными каталогами.

Если это разрешения сервера ивы используете проверку подлинности Windows, убедитесь, что у вас есть это в вашей конфигурации:

<identity impersonate="true" /> 

DirectoryInfo возвращает false в случае ошибки: если папка не существует;у вас нет разрешений;или это отключенная сетевая папка.

Звучит как разрешения вашего рабочего процесса ASP.NET для меня - олицетворение решит это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...