WCF ServiceHost 访问权限

在浏览 WCF 教程时,我得到了以下错误。

HTTP 无法注册 URL http://+:8000/ServiceModelSamples/Service/。您的进程没有对这个名称空间的访问权限(详见 http://go.microsoft.com/fwlink/?LinkId=70353)。

这是由于 Windows7的限制造成的吗?

120899 次浏览

问题是这个 URL 被阻止由 Windows 创建。

解决步骤: 以管理员身份运行命令提示符。 将 URL 添加到 ACL

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=mylocaluser

如果通过 IDE 运行,以管理员身份运行应该会有所帮助。要找到 VisualStudio2008/10应用程序图标,右键单击它并选择“作为管理员运行”

我正在开发 Windows Vista。甚至我也遇到了同样的问题,但是当我尝试使用管理员权限运行 VS2008时,问题解决了,我的服务启动并运行了。:)

作为管理员打开 VisualStudio. 。 它会跑的。

以管理员身份运行 VisualStudio 可以解决这个问题,但是如果将 VisualStudio 与例如 TortoiseSVN 一起使用,则无法提交任何更改。另一种可能的解决方案是作为管理员运行服务,其余的 VisualStudio 作为本地用户运行。

作为管理员打开命令提示符,然后编写以下命令来添加 URL:

netsh http add urlacl url=http://+:8000/YourServiceLibrary/YourService user=Everyone

请以管理员身份打开 VisualStudio:

enter image description here

另一个可行的选择是,

如果您更改应用程序池中的身份,则可以运行代码,其想法是将应用程序池执行帐户更改为一个具有更多特权的帐户,

更多细节请访问这个博客

Https://letrasandnumeros.com/2017/11/27/http-could-not-register-url-http-80-hellowcf-your-process-does-not-have-access-rights-to-this-namespace/