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

Posted

技术标签:

【中文标题】WCF 服务访问权限:没有对此命名空间的访问权限【英文标题】:WCF Service Access right: No access rights to this namespace 【发布时间】:2012-07-23 16:56:38 【问题描述】:

使用任务调度程序运行我的程序时出现以下错误:

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

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

【问题讨论】:

【参考方案1】:

你运行了什么netsh 命令?

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

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

要检查有哪些命名空间保留,请运行:

netsh http show urlacl

【讨论】:

允许这样做有什么安全问题吗?我们有一个供应商想以这种方式委派服务帐户?我更希望供应商让服务在本地系统下运行,但他们无法这样做。【参考方案2】:

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

【讨论】:

以上是关于WCF 服务访问权限:没有对此命名空间的访问权限的主要内容,如果未能解决你的问题,请参考以下文章

单元测试 WCF 服务时,AddressAccessDeniedException“您的进程没有访问此命名空间的权限”

WCF 服务主机访问权限

WCF 服务主机访问权限

WCF 休息服务 - 获得对 HTTP 响应标头的访问权限

在 .NET Core 控制台应用程序中获取对 System.Printing 命名空间的访问权限

2017-04-14命名空间访问修饰符封装继承多态