WCF服务访问权限:没有此命名空间的访问权限

使用任务计划程序运行程序时出现以下错误:

HTTP无法注册URL http:// +:4711 / myWCFService /。 您的进程没有此命名空间的访问权限(有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=70353 )。 —> System.Net.HttpListenerException:访问被拒绝

遗憾的是,以管理员身份运行无法解决我的问题。 我也尝试用netsh注册http地址,但我仍然遇到同样的错误。

你运行了什么netsh命令?

 netsh http add urlacl http://+:4711/ user=DOMAIN\USER 

在您的计算机上,内置管理员帐户具有所有HTTP命名空间预留的隐式所有权,因此您需要将特定命名空间预留的所有权(如上所述)委派给将运行HTTP端点的目标帐户。 您可以通过确保在执行netsh命令之前Run as administrator执行此操作。

要检查适当的命名空间预留,请运行:

 netsh http show urlacl 

我正在研究Windows服务(托管)中托管的测试WFC服务。 然后我为HTTP添加了另一个基地址。 当我再次启动服务时,我得到了同样的错误。 然后我将服务帐户从“本地服务”更改为“本地系统”,这解决了问题。 由于这是一个测试程序,我可以继续。