WCF ServiceHost访问权限


166

通过WCF教程时出现以下错误。

HTTP无法注册URL http:// +:8000 / ServiceModelSamples / Service /。您的进程没有对此名称空间的访问权限(有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=70353)。

这是由Windows 7的限制引起的吗?


您可以在此博客上找到很多有用的信息。嘿,还提供了一个不错的GUI工具。
bob

Answers:


179

问题是该URL被Windows阻止创建。

修复步骤:以管理员身份运行命令提示符。将网址添加到ACL

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

4
很高兴您解决了该问题。“ +”是什么意思?
约翰·桑德斯

我预感这意味着通用的本地IP。
约书亚

12
注意:您几乎必须完全输入url = http:// +:port / path。url = address:port / path对我不起作用,就像您认为的那样。另外请注意,您必须使用网络服务器作为用户(“NT AUTHORITY \ NETWORK SERVICE”,如果这是你的服务的安装程序设置为。
迈克PATERAS

8
以任何方式无需管理员权限即可执行此操作?
setzamora 2012年

1
为用户使用我的帐户无效。与user = Everyone合作
Kim

90

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


22
@Liam并不是真正的“更好”的解决方案-在公司设置的开发环境中,管理员权限可能为您提供更多权限来执行危险的事情。当然,要容易得多的解决方案,但
要有

2
原始解决方案还需要以管理员身份执行-被授予的时间更短,当然,您需要从安全上下文中了解自己在做什么。
斯蒂芬·纽曼

1
因此,无论如何要在没有管理员权限的情况下执行此操作?
setzamora 2012年

完善。我正在从IDE运行一个程序,该程序需要在另一台计算机上注册URL,并且以管理员身份运行时工作正常。
ThePartyTurtle

36

另一个解决方案是使用地址

http:// localhost:8732 / Design_Time_Addresses / YOUR_ADDRESS

.NET Framework(3.5)自动为调试范围注册该地址(http:// *:8732 / Design_Time_Addresses)。当您需要在Visual Studio中托管服务进行调试或测试时,此功能很有用。不要在生产中使用它...


1
部分网站称端口8731,而不是8732.
雷纳德Dobrilovic

1
@DaviFiamenghi只要安装了.net 3.5,它就可以正常工作。但是我从未尝试过。通常,我将这样的测试视为集成测试,因此我不会在TFS上运行它,而只会在TFS上运行单元测试。
Davide Icardi 2013年

@NenadDobrilovic矿使用8733 :)。但这并不重要。
Hooch 2014年

1
我们的服务器正在使用localhost:8733 / Design_Time_Addresses,如果没有您的回答,我将永远不会寻找它,谢谢。另外,鲍勃的工具显示了所有允许的地址-这就是我发现的地址8873。谢谢
Lee Oades

30

以管理员身份打开命令提示符,并在下面编写命令以添加URL:

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

需要牢记的几点:

  1. 根据您的编码更改端口
  2. 根据您的库名称更改服务库名称
  3. “您的服务”是可选的

有关更多信息,您可以检查: 配置HTTP和HTTPS


3

以管理员身份打开Visual Studio。它将运行。


我在nunit-gui遇到了同样的问题。担任管理员,一切都很好。
Valamas

我与2013年有同样的问题,并且由于管理员无法运行而无法运行
ZoomVirus 2014年

为什么我需要管理员为什么我不能以标准用户身份运行?
约翰(John)


-2

我正在使用Windows Vista。即使我也遇到了同样的问题,但是当我尝试使用管理特权运行VS 2008时,该问题已解决,并且我的服务已启动并正在运行。:)


-2

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



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.