C# ServiceHost AddServiceEndpoint-多个连接

C# ServiceHost AddServiceEndpoint-多个连接,c#,wcf,network-programming,duplex-channel,C#,Wcf,Network Programming,Duplex Channel,我有一个双工WFC客户机,当与单个客户机一起使用时,它可以很好地工作。当我尝试将多个客户机连接到服务器时,问题就出现了。当我这样做时,我得到一个异常:在网络上没有端点侦听。tcp://localhost:9080/MyDataService/1617f081e4b04c288965eea6ae18a39f 这可以接受这个信息。这通常是由于地址或SOAP操作不正确造成的。 我这样定义我的端点: ServiceHost duplex = new ServiceHost(typeof(ServerWC

我有一个双工WFC客户机,当与单个客户机一起使用时,它可以很好地工作。当我尝试将多个客户机连接到服务器时,问题就出现了。当我这样做时,我得到一个异常:
在网络上没有端点侦听。tcp://localhost:9080/MyDataService/1617f081e4b04c288965eea6ae18a39f 这可以接受这个信息。这通常是由于地址或SOAP操作不正确造成的。

我这样定义我的端点:

ServiceHost duplex = new ServiceHost(typeof(ServerWCallbackImpl));
duplex.AddServiceEndpoint(typeof(IServerWithCallback), new NetTcpBinding(), uniqueEndpointAddress);
并添加我的客户端端点,如下所示:

ServiceHost duplex = new ServiceHost(typeof(ServerWCallbackImpl));
duplex.AddServiceEndpoint(typeof(IServerWithCallback), new NetTcpBinding(), uniqueEndpointAddress);
第一个连接没有问题,但当我尝试以相同的方式连接第二个客户端时,会引发上述异常

有人知道我做错了什么吗


谢谢你

它是立即抛出还是等待几秒钟?(其中几秒钟==无论您的客户端超时设置为什么)似乎ServiceHost将只接受一个端点。您可以尝试在服务主机中打开并发,但如果它是正常的服务主机并发旋钮,我不希望它立即抛出。不幸的是,WCF在很多地方都设置了并发旋钮,这对您来说并不容易。搜索ServiceThrottlingBehavior应该会有所帮助。那么您正在同一台计算机上运行多个客户端?您是否运行了Net.Tcp端口共享服务?谢谢Ladislav,这很有帮助!我从来都不知道那个场景就在那里。然而,我发现,如果我在添加另一个频道时已经有一个频道在传输数据,那么第二个频道似乎会抵消第一个订阅中的数据。你知道这是什么原因吗?