我有一个Windows服务,主要是几百个客户端的WCF主机(net.tcp绑定)。它承载许多不同的WCF服务,其中一些是双工的。
它还与一个特定的客户端建立了简单的TCP连接。
为了使事情更加复杂,应用程序加载了第三方SDK,该SDK与其他服务器建立了进一步的TCP连接。
随着客户端的扩展,我现在发现它随机丢弃了所有网络连接:更具体地说,所有WCF通道均停止响应,而普通TCP连接则停止响应。 WCF通道不会断开连接,而是保持连接状态,直到最终超时(一分钟后)。
客户端最终能够重新建立连接,并且TCP连接也将恢复。
我怀疑应用程序可能变得太忙而无法为所有连接提供服务,并且TCP缓冲区可能已满。但是,如果是这种情况,我认为它的响应速度会更慢-事实并非如此,所有连接都将同时停止并且无法恢复(应用程序将能够轻松地在1分钟内处理所有待处理的请求超时)。
我不希望任何人直接解决此问题,因为它相当模糊,我无法提供示例代码,但希望我能找到一些调试问题的技巧。