我有两个进程在同一台机器上运行。每个进程都承载一个WCF服务,以允许进程间异步通信。到目前为止,我已经为两个wcf服务分配了固定端口8731和9000。如果客户机器占用了这些端口,该怎么办?如果我要动态分配一个可用的端口,我如何动态地让wcf客户端找到wcf服务?
提前感谢您的帮助。
发布于 2018-01-25 11:29:51
我在这篇文章中迟到了,但今天我们有了更好的解决这个问题的方法。有一个名为listenUriMode(https://msdn.microsoft.com/en-us/library/system.servicemodel.description.listenurimode(v=vs.110).aspx )的配置端点,如果我们将此值设置为“唯一”,它会将主机名绑定到端口0,这将要求操作系统分配一个空闲端口。
现在,客户端可以使用WCF发现(https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/wcf-discovery-overview)了解服务器端口。
发布于 2010-07-24 01:16:14
我假设您是在用代码创建服务。如果你害怕客户端没有可用的端口,you should configure your endpoints using app.config.这样,如果客户端的端口有问题,你可以简单地改变他们的配置文件,而不是重新编译你的代码。
https://stackoverflow.com/questions/3320596
复制相似问题