Подтвердить что ты не робот

Служба не может быть запущена. Не удалось зарегистрировать URL-адрес

Я хочу разместить wcf в службе окна. Я делал это несколько раз, без каких-либо проблем. На этот раз После того, как я установил службу и нажал кнопку "Пуск", я получаю следующую ошибку в EventViewer.

Service cannot be started. System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:.../.../. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).

Когда я размещаю ту же службу, тот же адрес в ConsoleApplication - все в порядке.

Я видел вопросы здесь и здесь, но ни одно из решений не помогло мне.

Есть ли у кого-нибудь идеи?

4b9b3361

Ответ 1

Что касается вашего ответа, это отладка от дробовика. Теперь у вас есть сетевая услуга с правами администратора:

Учетная запись LocalSystem (Windows):

Учетная запись LocalSystem [...] имеет обширные права на локальном компьютере и действует как компьютер в сети. Его токен включает в себя идентификаторы NT AUTHORITY\SYSTEM и BUILTIN\Administrators; эти учетные записи имеют доступ к большинству системных объектов.

Большинство служб не нуждаются в таком высоком уровне привилегий. Если вашей службе не нужны эти привилегии и она не является интерактивной услугой, рассмотрите возможность использования учетной записи LocalService или учетной записи NetworkService. Дополнительные сведения см. В разделе Безопасность и права доступа.

Таким образом, вам лучше запустить эту службу как NetworkService и предоставить ему надлежащие разрешения использовать порт, который вы пытаетесь использовать, как описано в Настройка HTTP и HTTPS:

netsh http add urlacl url=http://+:80/MyUri user="NT AUTHORITY\NETWORK SERVICE"

Ответ 2

Я обнаружил, что изменение учетной записи установщика в LocalSystem выполнило задание: -)