2011-06-01 33 views
2

我目前正在创建一个ServiceHost的应用程序,然后删除它,然后重新创建它。问题是,当我尝试重新创建服务主机时,一旦我摆脱了服务主机,我会收到异常“停止/启动后URI已经存在。”奇怪的是我有三个独立的主机,一个作品,两个没有。我认为有些东西没有被妥善处置,但我不知道为什么。停止/启动后URI的注册已经存在

我创建了主机像这样

host = new ServiceHost(typeof(MyService)); 
host.Open(); 

然后让他们摆脱像这样

if (host != null) 
{ 
    host.Close(); 
    host = null; 
} 

我也试着中止,而不是关闭,没有任何运气。

回答

1

虽然我不清楚确切的问题,但我可以给你一些想法和一些解决方法。

如果您在Windows 7中工作,则您作为主机的一部分创建的任何URL都必须注册。 Netsh命令通常帮助我们注册和取消注册这些URL。

对于注册和注销URI,您都需要具有管理员权限。

您可以尝试以下操作。

  1. 如果您正在运行您的exe文件,请尝试以管理员模式运行它。 (右键单击并选择管理员模式)。

  2. 如果您尝试使用visual studio,请尝试以管理员模式重新启动visual studio并运行该应用程序。

  3. 尝试注销URI并使用Netsh重试。

http://saravananarumugam.wordpress.com/2011/03/01/http-could-not-register-url/

可以帮助你。