Почему моя служба Windows, на которой размещается служба WCF, не работает под учетными записями LocalService или NetworkService - PullRequest
7 голосов
/ 10 сентября 2010

У меня есть простая служба Windows, на которой размещается служба WCF. Я хочу запустить службу Windows под учетной записью LocalService (или даже учетной записью NetworkService). Однако, когда я пытаюсь запустить его под одной из этих учетных записей, он запускается, затем немедленно останавливается. Он запускается и работает нормально под учетной записью LocalSystem. Любые мысли о том, как решить, почему он не будет работать под LocalService или NetworkService.

Спасибо

Дэвид

Ответы [ 2 ]

9 голосов
/ 13 сентября 2010

Благодаря предложениям проверить журнал событий от marc_s и ho1 я обнаружил, что мне нужно добавить резервирование пространства имен следующим образом:

netsh http add urlacl url=http://+:1239/BOBPersistenceServer/ user="Local Service"

См. http://msdn.microsoft.com/en-us/library/ms733768.aspx и http://msdn.microsoft.com/en-au/magazine/cc163531.aspx для более подробной информации.

0 голосов
/ 10 сентября 2010

LocalSystem имеет расширенные привилегии на локальном компьютере, в то время как LocalService и NetworkService имеют минимальные привилегии.Так что это очень похоже на то, что вашему сервису нужны некоторые привилегии, которых нет у LocalService.Как говорит marc_s в своем комментарии, первый шаг должен состоять в том, чтобы проверить средство просмотра событий, чтобы увидеть, есть ли там какие-либо соответствующие сообщения об ошибках.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...