7

ServiceHost.Open()正在抛出此错误:

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

所以我用netsh来添加url。但是尽管添加了事件,但我仍然收到错误消息。这是我使用的命令:

netsh http add urlacl url=http://+:8001/ user=djerryy

djerryy是我的计算机名。当我运行 netsh http show urlacl 时,我看到它被添加了。

我究竟做错了什么?

提前致谢。

4

3 回答 3

21

您似乎缺少运行该服务的用户帐户的名称。这里有几个选项:

  • 本地用户帐户:
netsh http add urlacl url=http://+:8001/ user=ComputerName\Username
  • 域用户帐户:
netsh http add urlacl url=http://+:8001/ user=DomainName\Username
  • 内置 NetworkService 帐户:
netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"
于 2010-05-28T09:12:33.867 回答
5

我必须强调:

netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORK SERVICE"

只能在具有英语语言环境的系统上工作!

一种更好的方法是删除一个空格并使其成为:

netsh http add urlacl url=http://+:8001/ user="NT AUTHORITY\NETWORKSERVICE"

现在该命令将适用于任何语言环境。我今天花了 0.5 小时来解决这个问题……都是因为一个字符。;)

于 2011-08-31T08:38:47.780 回答
0

要为这个答案添加更多内容:您必须指定一个端口号!花了很长时间尝试授权服务绑定到正常的 HTTP 地址,它只有在我明确指定时才开始工作:

netsh http add urlacl 
    url=http://some.example.com:80/extension/ 
    user="NT AUTHORITY\NETWORKSERVICE"
于 2013-05-08T13:06:33.717 回答