如何在app.config中动态设置WCF服务基地址端口号?

时间:2013-07-27 06:48:43

标签: c# wcf port app-config nettcpbinding

我目前有一个正在侦听端口8000的netTcpBinding端点。

我已在app.config文件中配置了基本地址,如此

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

这可以按预期工作,服务侦听端口8000。

我的问题是这个服务将部署在第三方机器上,我担心端口冲突(并且在尝试打开另一个应用程序已在使用的端口时遇到System.Net.SocketException)。

可以处理异常并使用IPGlobalProperties在代码中查找可用端口以使用空闲端口重新创建基址但我希望有一种方法可以指示WCF在app.config设置中使用动态端口。

客户端连接不需要知道预定义的端口号,因为它们使用WS-Discovery来查找服务器端点。

1 个答案:

答案 0 :(得分:1)

您可以在app.config中添加此内容。

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

并在代码

中读出来
string port = ConfigurationManager.AppSettings["Port"];

读完端口后,你必须创建网址。