我目前正在开发一个应用程序,我正在创建一个ServiceHost,然后摆脱它,然后再重新创建它。问题是,当我尝试重新创建服务主机时,我得到了异常“停止/启动后URI已存在注册”。奇怪的是我有三个独立的主机,一个工作,两个没有。我认为某些事情没有得到妥善处理,但我不确定原因。
我正在创建像这样的主机
host = new ServiceHost(typeof(MyService));
host.Open();
然后像这样摆脱它们
if (host != null)
{
host.Close();
host = null;
}
我也试过中止而不是没有任何运气。
答案 0 :(得分:1)
虽然我不确定确切的问题,但我可以给你一些想法和一些解决方法。
如果您使用的是Windows 7,则您在托管中创建的任何URL都必须注册。 Netsh命令通常可以帮助我们注册和取消注册URL。
对于注册和取消注册URI,您需要拥有管理员权限。
您可以尝试以下操作。
如果您正在运行exe,请尝试在管理员模式下运行它。 (右键单击并选择管理模式)。
如果您正在尝试使用visual studio,请尝试以管理员模式重新启动visual studio并运行该应用程序。
尝试取消注册URI,然后使用Netsh重试。
http://saravananarumugam.wordpress.com/2011/03/01/http-could-not-register-url/
可以帮到你。