是 ReliableSession.InactivityTimeout 是检测 wcf 中错误的良好做法

本文关键字:ReliableSession InactivityTimeout 检测 wcf 错误 | 更新日期: 2023-09-27 18:34:02

最近我要求实现一个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);

是 ReliableSession.InactivityTimeout 是检测 wcf 中错误的良好做法

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