2013-07-27 35 views
1

我現在有一個netTcpBinding端點在端口監聽8000如何在app.config中動態設置WCF服務基地址端口號?

我在app.config文件中配置的基地址,像這樣

net.tcp://*:8000/TestProject/Service

可正常工作和端口上偵聽服務8000.

我的問題是,這項服務將部署在第三方機器上,我擔心端口衝突(並嘗試打開時遇到System.Net.SocketException端口已被另一個應用程序使用)。

可以處理異常和使用IPGlobalProperties找到代碼中的可用端口使用自由港重建基址,但我希望有一種方法來指示WCF使用動態端口的app.config設置。

客戶端連接在使用WS-Discovery查找服務器端點時不需要知道預定義的端口號。

回答

1

你可以在你的app.config中添加這個。

<appSettings> 
    <add key="Port" value="8000" /> 
</appSettings> 

而且讀出來的代碼

string port = ConfigurationManager.AppSettings["Port"]; 

後,您讀的是端口中,你必須創建URL。