Вопрос

У меня есть веб-служба WCF, которую я размещаю в IIS (фактически запущенная на веб-узле Visual Studio, т. е.Кассини).

У меня есть файл, к которому я должен получить доступ в корне веб-каталога из службы, и у меня возникают проблемы с определением идентификатора пользователя, от имени которого служба обращается к каталогу.Я дал разрешение ASPNET, СЕТЕВОЙ СЛУЖБЕ и IUSR, но, похоже, ни одно из них не работает.

Кто-нибудь знает, что это за пользователь, от имени которого запускается служба WCF, когда она размещена в IIS?

Подробная информация:

Действительно, служба WCF запущена от моего имени (моя учетная запись Windows), но по какой-либо причине она по-прежнему не может открыть файл в своем корневом каталоге.Сбой файла с надписью "Доступ запрещен".Я предоставил "Всем" полный контроль над папкой, и, похоже, это не имеет значения.

Это было полезно?

Решение 2

Хорошо ... разобрался с проблемой.Оказывается, файл, который я пытался открыть, был помечен как доступный только для чтения, поэтому .NET не смог открыть его для записи.Переданный доступ к файлу.Прочитайте файл.Метод Open(), и теперь он открывается нормально.

Не связанный с самим WCF.

Другие советы

Если вы запускаете yr serive с помощью Cassini, то это будет пользователь, который вошел в систему на этом компьютере.Так что, вероятно, ваше имя пользователя, которое вы использовали для входа на этот компьютер.Дайте этому пользователю разрешение на чтение файла и попробуйте его.

В IIS это зависит от конфигурации вашего приложения.Вы можете создать пул приложений под любой учетной записью пользователя и запустить любое приложение, используя этот пул.Пользователь по умолчанию в IIS - это СЕТЕВЫЕ СЛУЖБЫ.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top