我有一個ServerEventsFeature
的服務。我使用默認情況下向服務發送心跳的ServerEventsClient
。據我所知,ServiceStack不支持從框中過期,但會話生命週期在每次心跳後刷新。這是應該如何,有沒有辦法控制它?我已經通過將SessionExpiry
設置爲30秒和HeartbeatInterval
設置爲20秒進行了測試 - 該應用會發送多個(10+)心跳來避免任何問題。另外,如果客戶端應用程序崩潰並強制關閉 - 會話將在服務器會話列表中「活着」,直到我嘗試使用它,是否有辦法在早期放棄它?ServiceStack會話生命週期在心跳上增加
實施例:
啓動服務器
發射客戶機1
執行
var sessionPattern = IdUtils.CreateUrn<IAuthSession>("");
var sessionKeys = Cache.GetKeysStartingWith(sessionPattern).ToList();
var allSessions = Cache.GetAll<IAuthSession>(sessionKeys);
結果計數爲1
發射客戶端2和3
降客戶機1通過力關閉(無註銷呼叫)
再次執行相同的代碼 - 結果計數是3
然後它看起來像我編碼錯了。謝謝,我會進行額外的測試 – HardLuck