2011-06-01 32 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/

可以幫助你。