WCF连接定期由服务器重置

时间:2017-09-22 08:14:13

标签: c# wcf tcp

基本上,我正在尝试利用WCF通道来保持粘性(不要通过FIN或RST标志终止)TCP连接。

通过在C#中使用ServiePoint类,我可以将ConnectionLeaseTimeout属性与MaxIdleTime一起使用,以确保客户端不会终止连接。

但是,我注意到每次连接空闲约2分钟后,服务器都会发送一个RST标志来终止它。我试图通过继续从客户端发送KeepAlive数据包来修复它,它没有帮助。我的感觉是,无论我的keepAlive数据包如何,都会发送Reset标志。有什么想法吗?谢谢。代码如下:

    private void SetConnectionIdleTimeSticky(string endpoint)
    {
        var sp = ServicePointManager.FindServicePoint(new Uri(endpoint));
        sp.SetTcpKeepAlive(true, 10000, 10000);
        sp.MaxIdleTime = 600000;
    }

0 个答案:

没有答案