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帐户[...]在本地计算机上具有广泛的权限,并充当网络上的计算机.它的令牌包括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)
我发现将安装程序帐户更改为LocalSystem完成了这项工作:-)