ReliableSession.InactivityTimeout是检测wcf错误的好方法吗?

时间:2014-12-11 15:12:13

标签: c# wcf tcp tcpclient

最近我要求实施一个wcf服务。 我面临的一个问题是如何检测网络故障并引发故障异常,

经过一些研究,我发现可以将接收超时属性设置为最大值, 并且在一段时间内没有活动, 基本上它是有效的,但我的问题是我在做这个时做的很好吗?

或任何人都有更好的方法来检测意外的网络故障

我正在使用tcp绑定选项

netTcpBind.ReceiveTimeout = TimeSpan.MaxValue;
        netTcpBind.CloseTimeout = TimeSpan.MaxValue;
        netTcpBind.SendTimeout = TimeSpan.MaxValue;
        netTcpBind.ReliableSession.Enabled = true;
        netTcpBind.ReliableSession.InactivityTimeout = new TimeSpan(0,2,0);

1 个答案:

答案 0 :(得分:1)

ReliableSession在指定的时间间隔内部发送基础设施消息。验证TCP会话是否仍然存在。这应该处理所有与网络相关的故障错误。请查看以下链接了解详情: http://www.blogs.sigristsoftware.com/marcsigrist/post/Prerequisits-for-implementing-a-keep-alive-mechanism-in-WCF-30.aspx