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

C# 停止/启动后已存在URI的注册,c#,exception,service,servicehost,C#,Exception,Service,Servicehost,我目前正在开发一个应用程序,在这个应用程序中,我创建了一个ServiceHost,然后将其删除,稍后再重新创建。问题是,当我尝试重新创建服务主机时,一旦我摆脱了服务主机,我会得到一个异常“停止/启动后已经存在URI注册”。奇怪的是,我有三个独立的主机,一个工作,两个不工作。我想有些事情没有得到妥善处理,但我不知道为什么 我正在创建这样的主机 host = new ServiceHost(typeof(MyService)); host.Open(); 然后像这样把他们赶走 if (host !

我目前正在开发一个应用程序,在这个应用程序中,我创建了一个ServiceHost,然后将其删除,稍后再重新创建。问题是,当我尝试重新创建服务主机时,一旦我摆脱了服务主机,我会得到一个异常“停止/启动后已经存在URI注册”。奇怪的是,我有三个独立的主机,一个工作,两个不工作。我想有些事情没有得到妥善处理,但我不知道为什么

我正在创建这样的主机

host = new ServiceHost(typeof(MyService));
host.Open();
然后像这样把他们赶走

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

我也尝试过中止而不是在没有任何运气的情况下关闭

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

如果您在Windows7中工作,那么您创建的任何URL都必须注册。Netsh命令通常帮助我们注册和注销URL

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

你可以试试下面的方法

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

  • 如果您正在试用visual studio,请尝试在管理模式下重新启动visual studio并运行该应用程序

  • 请尝试注销URI,然后使用Netsh重试

  • 我可以帮你