停止/启动后URI已存在注册

时间:2011-06-01 18:09:48

标签: c# exception service servicehost

我目前正在开发一个应用程序,我正在创建一个ServiceHost,然后摆脱它,然后再重新创建它。问题是,当我尝试重新创建服务主机时,我得到了异常“停止/启动后URI已存在注册”。奇怪的是我有三个独立的主机,一个工作,两个没有。我认为某些事情没有得到妥善处理,但我不确定原因。

我正在创建像这样的主机

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

然后像这样摆脱它们

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

我也试过中止而不是没有任何运气。

1 个答案:

答案 0 :(得分:1)

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

如果您使用的是Windows 7,则您在托管中创建的任何URL都必须注册。 Netsh命令通常可以帮助我们注册和取消注册URL。

对于注册和取消注册URI,您需要拥有管理员权限。

您可以尝试以下操作。

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

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

  3. 尝试取消注册URI,然后使用Netsh重试。

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

    可以帮到你。