我目前有一个正在侦听端口8000的netTcpBinding
端点。
我已在app.config
文件中配置了基本地址,如此
net.tcp://*:8000/TestProject/Service
这可以按预期工作,服务侦听端口8000。
我的问题是这个服务将部署在第三方机器上,我担心端口冲突(并且在尝试打开另一个应用程序已在使用的端口时遇到System.Net.SocketException
)。
我可以处理异常并使用IPGlobalProperties
在代码中查找可用端口以使用空闲端口重新创建基址但我希望有一种方法可以指示WCF在app.config
设置中使用动态端口。
客户端连接不需要知道预定义的端口号,因为它们使用WS-Discovery来查找服务器端点。
答案 0 :(得分:1)
您可以在app.config中添加此内容。
<appSettings>
<add key="Port" value="8000" />
</appSettings>
并在代码
中读出来string port = ConfigurationManager.AppSettings["Port"];
读完端口后,你必须创建网址。