2015-04-22 107 views
1

我正面臨一個我無法解決的奇怪問題。我使用Visual Studio使用WCF編寫了自己的Web服務。然後,我創建了一個Windows服務項目。至少,我安裝了它與installutil和一切工作正常。我可以在http://localhost:port/etc訪問它。.NET Web服務只能在本地主機上工作

現在,我想公開它在不同的IP地址。所以我改變了App.config文件把這個:

<host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8733/example/" /> 
     <add baseAddress="http://192.168.1.111:1111/example/" /> 
     </baseAddresses> 
    </host> 

我也試過這樣:

<host> 
     <baseAddresses> 
     <add baseAddress="http://192.168.1.111:1111/example/" /> 
     </baseAddresses> 
    </host> 

但他們沒有工作。當我啓動服務時,向我顯示錯誤對話框,告訴服務已經立即停止。

有人可以幫我嗎?

UPDATE

我改變了服務安裝程序的帳戶NetworkService,現在我得到的錯誤:

Error 5: Access is denied 

一些提示?

感謝, 馬爾科

+1

嘗試使用新的地址在一個控制檯應用程序運行WCF第一,這種方式可以調試很容易。如果這運行正常,您可能有安全問題,請嘗試在另一個帳戶下運行該服務。並檢查事件日誌中是否有詳細的錯誤信息在此處發佈。 –

+0

檢查防火牆,檢查端口實際上是否打開'netstat -a'等。 –

+2

被阻止的防火牆不應該停止服務 –

回答

1

試過聽http://0.0.0.0:1111它應該在所有的PC接口監聽端口1111

+2

實際上它爲我工作...但我不明白爲什麼0.0.0.0是好的,192.168.1.111不是! – mgaido

相關問題