Ошибка перечисления общей папки из веб-формы ASP.NET - PullRequest
0 голосов
/ 14 апреля 2011

Я пытаюсь запустить метод загрузки страницы, который будет искать в общей сетевой папке и выполнять определенную операцию для всех найденных файлов .tif. Проблема в том, что я получаю сообщение об ошибке:

DirectoryInfo dir = new DirectoryInfo(directory);

FileInfo[] tifs = dir.GetFiles("*.tif", SearchOption.AllDirectories);   //Throws error.

Сведения об исключении: System.UnauthorizedAccessException: Доступ к пути «\ Сервер \ имя_папки \ папка \ подпапка» отказано.

ASP.NET не авторизован для доступа запрашиваемый ресурс. Рассматривать предоставление прав доступа к ресурсу к идентичности запроса ASP.NET. ASP.NET имеет базовый идентификатор процесса (обычно {MACHINE} \ ASPNET на IIS 5 или сетевой службы на IIS 6), то есть используется, если приложение не имитированы. Если приложение выдавая себя за себя, личность будет анонимным пользователем (обычно IUSR_MACHINENAME) или заверенный запрос пользователя.

Чтобы предоставить ASP.NET доступ к файлу, щелкните правой кнопкой мыши файл в проводнике, выберите «Свойства» и выберите Вкладка «Безопасность». Нажмите «Добавить», чтобы добавить соответствующий пользователь или группа. основной момент учетную запись ASP.NET и проверьте ящики для желаемого доступа.

Я пытался следовать этим инструкциям, но не могу добавить указанную учетную запись к разрешениям общего ресурса. Что я делаю неправильно?

См. Связанный вопрос: Проблема с доступом к сетевому ресурсу из веб-формы asp.net

1 Ответ

1 голос
/ 14 апреля 2011

Возможно, вам нужно выдать себя за пользователя, у которого есть доступ: см. http://msdn.microsoft.com/en-us/library/xh507fc5%28v=VS.90%29.aspx

...