Исправление добавлено ниже: рассматриваемый код не является частью приложения IIS 7 (без пула приложений).
У меня есть виртуальный каталог IIS, содержащий страницу aspx со следующим кодом:
System.Net.WebRequest wr = System.Net.WebRequest.Create( @"file://unc-share/directory/file.pdf" );
wr.Credentials = System.Net.CredentialCache.DefaultCredentials;
WebResponse response = wr.GetResponse();
Когда вызывается GetResponse (), я получаю «Доступ к пути \ unc-share \ directory \ file.pdf 'запрещен». ошибка.
У меня есть приложение, настроенное для встроенной аутентификации Windows (все другие типы аутентификации отключены), ASP.NET олицетворение включено.
Мне удалось проверить, что для олицетворения ASP.NET используется то же удостоверение, что и для учетной записи домена Windows, которую я использую для доступа к сайту. Общий ресурс UNC, в котором находится файл, - это отдельная система Windows, в которой не размещается веб-сервер, для этой учетной записи установлены привилегии «Полный доступ».
Я также пытался получить доступ к файлу с помощью экземпляра FileStream, с теми же результатами.
Обсуждали эту проблему на этом и других сайтах, но не нашли никаких предложений, которые бы соответствовали тому, что я пытаюсь сделать, и которые не решили проблему.
Есть идеи?