我在 VS2008 中组合了一个小型 WCF 服务,当我尝试使用 HTTP 协议(protocol)运行主机时,它崩溃了,因为它没有这样做的适当权限。在我的“Host.Open()”行中,我得到了这个异常:“HTTP 无法注册 URL http://+:9001/。您的进程没有访问此命名空间的权限。”我使用 TCP 似乎没有这个问题。我的操作系统是 Vista Home Premium。
当我尝试在 VS2008 中调试它时,就会发生这种情况。经过大量研究,我确定我可以通过构建运行主机,转到“bin”文件夹,右键单击我的可执行文件,选择“以管理员身份运行”。当我尝试使用 WcfSvcHost.exe 时,同样的事情发生了。在成功让 WcfSvcHost 运行我的服务之前,我必须使用“以管理员身份运行”从菜单中打开 VS2008 命令提示符窗口。
有没有一种方法可以正确地执行此操作而不是使用此解决方法?当我下周尝试在 Windows 2003 Server 上部署它时是否会遇到类似的问题?
最佳答案
此链接可能对您有所帮助:http://msdn.microsoft.com/en-us/library/ms733768.aspx
简短版本:从特权控制台预注册 url/命名空间
netsh http 添加 urlacl url= http://+:9001/用户=域\用户
关于visual-studio - 在 Vista 中托管 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/598643/