2009-05-20 76 views
164

通过WCF教程时出现以下错误。WCF ServiceHost访问权

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

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

+0

可能重复的[HTTP无法注册URL http:// +:8000/HelloWCF /。你的进程没有这个命名空间的访问权限](http://stackoverflow.com/questions/8727293/http-could-not-register-url-http-8000-hellowcf-your-process-does-not-have) – 2015-06-07 13:10:41

+0

您可以在[博客]上找到大量有用的信息(http://blogs.msdn.com/b/paulwh/archive/2007/05/04/addressaccessdeniedexception-http-could-not-register-url-http -8080.aspx)。嘿还提供了一个不错的GUI工具。 – bob 2011-07-17 13:21:48

回答

172

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

修复步骤: 以管理员身份运行命令提示符。如果您是通过IDE中运行,以管理员身份运行应该帮助URL 添加到ACL

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

很高兴你解决了这个问题。 “+”是什么意思? – 2009-05-20 01:29:56

+0

我有一个预感,它意味着一个通用的本地IP。 – Joshua 2009-05-20 11:22:03

+10

注意:您几乎必须完全输入url = http:// +:port/path。 url = http:// address:port/path对我来说并不适用,就像你想的那样。另外请注意,您必须使用网络服务器作为您的用户(“NT AUTHORITY \ NETWORK SERVICE”,如果这是您的服务的安装程序设置为 – 2010-06-15 01:58:57

92

。为此,请找到Visual Studio 2008/10应用程序图标,右键单击它并选择“以管理员身份运行”

1

我正在使用Windows Vista。即使我面临同样的问题,但是当我试图用管理权限运行VS 2008时,问题已解决,我的服务已启动并正在运行。 :)

32

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

http://localhost:8732/Design_Time_Addresses/YOUR_ADDRESS

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

5

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

0

请在管理模式下打开您的Visual Studio然后尝试它。

0

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

25

您可以打开命令提示符,然后你写这样的文字:

netsh http add urlacl url=http://+:8000/ServiceModelSamples/Service user=Everyone 
-1

请打开你的Visual Studio以管理员身份:

enter image description here

-2

在越来越试图启动时,这个错误的情况下,一个Windows服务,将windows服务用户添加到管理员组(计算机管理 - >本地用户和组 - >组 - >管理员 - >在那里添加您的Active Directory用户)。