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

Har*_*rry 12 hosting wcf windows-services localhost

我想在窗口服务中托管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上托管相同的服务,相同的地址时 - 好的.

我在这里这里看到了问题,但没有一个解决方案帮助了我.

有没有人有想法?

Cod*_*ter 17

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

LocalSystem帐户(Windows):

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

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

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

netsh http add urlacl url=http://+:80/MyUri user="NT AUTHORITY\NETWORK SERVICE"
Run Code Online (Sandbox Code Playgroud)


Har*_*rry 7

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

  • 我花了一些时间才找到如何做到这一点,所以步骤如下:打开服务程序(开始 - >在Win 7中查看本地服务),在列表中找到您的服务,右键单击它,单击属性,然后去登录标签.我将我改为我的Active Directory帐户和密码. (3认同)