最近我要求实施一个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);
答案 0 :(得分:1)
ReliableSession在指定的时间间隔内部发送基础设施消息。验证TCP会话是否仍然存在。这应该处理所有与网络相关的故障错误。请查看以下链接了解详情: http://www.blogs.sigristsoftware.com/marcsigrist/post/Prerequisits-for-implementing-a-keep-alive-mechanism-in-WCF-30.aspx