System.IO.DirectoryNotFoundException: не удалось найти часть пути

У меня есть 1 служебное приложение (asp.net), которое будет загружать текстовый файл. Я хотел бы загрузить файл на общий сетевой диск. пример сетевого подключенного диска: Z:\HR\hr\t\clock. Если я запускаю веб-страницу через визуального веб-разработчика, он может успешно сохранить файл. но если я запускаю веб-страницу напрямую через IE, она не может сохраниться. Я уже установил сетевую папку для всех с полным доступом. выдает исключение System.IO.DirectoryNotFoundException: не удалось найти часть пути «Z:\HR\t\clock102528122011113418.txt».

Спасибо


person user1129492    schedule 04.01.2012    source источник
comment
Когда вы сопоставляете сетевой диск, этот диск сопоставляется с пользователем. Если вы вошли в систему как администратор, пользователь IIS (или пользователь пула приложений) не сможет использовать этот общий ресурс. Я не знаю, как вы можете это исправить, но я думаю, что это ваша проблема.   -  person stian.net    schedule 04.01.2012


Ответы (1)


Я думаю, это будет из-за контекстов безопасности.

Запуск его из VWD выполняется в вашем контексте безопасности, запуск «напрямую из IE» будет выполняться в другом контексте (обычно IUSR_MachineName)

В одном сценарии у вас есть учетная запись с разрешениями, в другом — нет.

Я бы порекомендовал создать учетную запись службы для выполнения этой работы и предоставить наименьшие возможные разрешения, а затем продолжить.

person SpaceBison    schedule 04.01.2012