服务无法启动。无法注册网址

时间:2012-12-16 13:53:50

标签: wcf windows-services hosting localhost

我想在窗口服务中托管wcf。我以前做过几次没有任何问题。这次安装服务并单击start后,我在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上托管相同的服务,相同的地址时 - 好吧。

我看到了问题herehere,但没有一个解决方案对我有帮助。

有没有人有想法?

2 个答案:

答案 0 :(得分:17)

至于你的答案,那是一些猎枪调试。您现在拥有具有管理员权限的网络服务:

LocalSystem Account (Windows)

  

LocalSystem帐户[...]在本地计算机上具有广泛的权限,并充当网络上的计算机。它的令牌包括NT AUTHORITY \ SYSTEM和BUILTIN \ Administrators SID;这些帐户可以访问大多数系统对象。

     

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

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

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

答案 1 :(得分:7)

我发现将安装程序帐户更改为LocalSystem可以完成这项工作: - )