保持WCF服務端與客戶端的長連接


背景

客戶端與服務端使用WCF建立連接后:1、可能長時間不對話(調用服務操作);2、客戶端的網絡不穩定。

為服務端與客戶端兩邊都寫“心跳檢測”代碼?不願意。

 

 

解決

 

  • 設置inactivityTimeout屬性:設置KeepAlive值,以保持數據層連接

 

<reliableSession enabled="true" inactivityTimeout="00:00:30"/>

 

  • 設置ReceiveTimeout 屬性:服務端允許客戶端登錄后不做任何應用層服務的調用也可以一直掛着而不回收連接

 

ReceiveTimeout = TimeSpan.MaxValue

 

 

參考

做socket保持長連接的一些心得及回復意見  

How to set keep alive interval for HTTP connection in WCF


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM