Wcf 服务无法启动。无法注册URL

Wcf 服务无法启动。无法注册URL,wcf,windows-services,hosting,localhost,Wcf,Windows Services,Hosting,Localhost,我想在窗口服务中托管wcf。我以前做过好几次,没有任何问题。这一次,在我安装了服务并单击start之后,我在EventViewer中遇到以下错误 服务无法启动。System.ServiceModel.AddressAccessDeniedException:HTTP无法注册URL HTTP://+:…/。您的进程没有对此命名空间的访问权限(请参阅http://go.microsoft.com/fwlink/?LinkId=70353 有关详细信息)。 当我在ConsoleApplication上

我想在窗口服务中托管wcf。我以前做过好几次,没有任何问题。这一次,在我安装了服务并单击start之后,我在EventViewer中遇到以下错误

服务无法启动。System.ServiceModel.AddressAccessDeniedException:HTTP无法注册URL HTTP://+:…/。您的进程没有对此命名空间的访问权限(请参阅http://go.microsoft.com/fwlink/?LinkId=70353 有关详细信息)。

当我在ConsoleApplication上托管相同的服务、相同的地址时-好的

我看到了问题和答案,但没有一个答案对我有帮助


有人有什么想法吗?

我发现将安装程序帐户更改为LocalSystem成功了:-)

至于你的答案,这是一个小问题。您现在拥有具有管理员权限的网络服务:

:

LocalSystem帐户[…]在本地计算机上具有广泛的权限,并充当网络上的计算机。其令牌包括NT授权\系统和内置\管理员SID;这些帐户可以访问大多数系统对象

大多数服务不需要如此高的特权级别。如果您的服务不需要这些特权,并且它不是交互式服务,请考虑使用LoalService帐户或NETWorkService帐户。有关更多信息,请参阅服务安全性和访问权限

因此,您最好将此服务作为NetworkService运行,并授予其使用您尝试使用的端口的适当权限,如中所述:


我花了一段时间才找到如何做到这一点,下面是步骤:打开服务程序(开始->在Win 7中查看本地服务),在列表中找到您的服务,右键单击它,单击属性,转到登录选项卡。我已将我的更改为Active Directory帐户和密码。如果要更改服务本身,请不要手动更改服务实例。更改ServiceProcessInstaller的属性“Account”。
netsh http add urlacl url=http://+:80/MyUri user="NT AUTHORITY\NETWORK SERVICE"