2012-07-25 97 views
0

运行我的程序,同时与任务调度,我发现了以下错误:WCF服务访问权限:无权访问该命名空间

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

以管理员身份运行很不幸,没有解决我的问题。我也尝试用netsh注册http地址,但我仍然遇到同样的错误。

回答

5

什么netsh命令你跑?

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

在你的机器,内置的管理员帐户拥有所有HTTP命名空间保留的隐含所有权,所以你需要委派特定的命名空间保留的所有权(如上面),以将要运行的目标帐户HTTP端点。通过在执行netsh命令之前确保您执行Run as administrator的操作。

要检查什么命名空间保留已到位,运行:

netsh http show urlacl 
+0

有没有这方面的安全顾虑?我们有一个想要以这种方式委托服务帐户的供应商?我宁愿让供应商使服务在本地系统下运行,但他们无法这样做。 – Grayson 2014-11-14 14:35:03

0

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