WCF Threading текущий владелец - PullRequest
       6

WCF Threading текущий владелец

1 голос
/ 19 февраля 2010

Я размещаю службу WCF в Windows 7 IIS. Когда служба пытается записать файл конфигурации и получает сообщение об ошибке:

"Доступ к пути 'C: \ Program Files (x86) \ MIMS \ Master \ ahug_uqt.tmp' запрещен."

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

В любом случае, я проверил, что neil-laptop (это мой пользователь), ASPNET, NETWORKSERVICE и LOCALSERVICE имеют полный контроль над папкой программ, и они это делают. При отладке в сервисе он показывает текущего участника потока как neil-laptop. Этого не должно быть, поскольку это процесс IIS.

Итак, как мне узнать, под каким пользователем запущен поток, чтобы я мог дать ему соответствующие разрешения. Имея в виду также, что вышесказанное работало на Win2003 и XP, когда я дал пользователям полный контроль над папкой. Черт возьми, Windows 7.

Надеюсь, Нил.

1 Ответ

0 голосов
/ 24 февраля 2010

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

Просто на самом деле. Не уверен насчет последствий для безопасности, но учетная запись NETWORK SERVICE очень ограничена в своих разрешениях, поэтому все должно быть в порядке.

...