2010-03-15 57 views
1

什麼時候可靠會話超時?WCF可靠會話超時

我的會話類的定義如下:

[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Multiple)] 

,並在我的app.config ...

<bindings> 
     <netTcpBinding> 
     <binding name="FTS_netTcpBinding"> 
      <reliableSession enabled="true" inactivityTimeout="00:00:30"/>   
     </binding>   
     </netTcpBinding>   
    </bindings> 

我已經把一個計時器在我的會話類的構造函數是簡單地輸出計數(1..2..3 ...)到控制檯,每秒會話處於活動狀態。

我已經通過斷開我的頻道對它進行了測試。我會想象會話類會在約30秒後死亡(如我的inactivityTimeout參數中指定的那樣),因此計時器已經死亡。然而,一分鐘後它還在繼續。

我的應用程序的每個會話都會有很多資源,所以我需要確保在出現問題時清理它們。

謝謝。

回答

2

我現在認爲會話在ReceiveTimeOut過後會超時。那就是會話實例在這段時間內還沒有收到任何數據。