WCF服务保持在线状态(Keep Alive),长时间闲置状态下不断线解决方案
作者:C/S框架网  发布日期:2012-03-02 21:27:20
  WCF服务保持在线状态(Keep Alive),长时间闲置状态下不断线解决方案




解决方案

1. WCF服务配置为可靠会话,设置reliableSession。

2. 设置binding的receiveTimeout属性。

3. 将inactivityTimeoutreceiveTimeout属性的超时时间设置相同的数值。建议改为4或8小时(通常上/下午工作时间小于4小时,改为4最理想),下面是Web.Config和App.Config文件的配置。


<binding name="ISalesModuleService" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text"  receiveTimeout="04:00:00"  >


 <!--大数据量通信设置-->
         
<
readerQuotas maxDepth="6553600" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="6553600" maxNameTableCharCount="6553600"/>


 <!--可靠会话设置-->
         
<
reliableSession ordered="true" inactivityTimeout="04:00:00" enabled="true" />

</binding>



 


参考文章:

WCF App.Config 配置参数详解:OpenTimeout, CloseTimeout, SendTimeout, ReceiveTimeout
http://www.csframework.com/archive/5/arc-5-20120302-1892.htm


WCF 可靠性会话(reliableSession)中的inactivityTimeout和receiveTimeout 测试报告
http://www.csframework.com/archive/5/arc-5-20120302-1893.htm

基础安全会话在可靠会话完全完成之前出错,可靠会话出错。
http://www.csframework.com/archive/5/arc-5-20120302-1894.htm

上一篇 下一篇