0
我有wcf服務連接幾個客戶端。如果其中一個人想要斷開連接,那麼結束代理會話,通知其他用戶等等等。檢查所有客戶端連接到wcf服務
但是有時客戶端與wcf服務斷開連接(例如用戶結束了他的進程)。 如何檢測,該客戶端已斷開並通知其他客戶端?
我有wcf服務連接幾個客戶端。如果其中一個人想要斷開連接,那麼結束代理會話,通知其他用戶等等等。檢查所有客戶端連接到wcf服務
但是有時客戶端與wcf服務斷開連接(例如用戶結束了他的進程)。 如何檢測,該客戶端已斷開並通知其他客戶端?
當客戶端突然中斷時,如果客戶端斷開連接,您不會在服務端知道,因此您必須手動斷開用戶連接。
爲此,您需要在會話對象中添加LastAccessTime
屬性。一旦完成這一步,您將不得不編寫一個後勤人員角色,以LastAccessTime
爲基礎斷開會話。在每次請求中,您將使用當前時間更新這個時間。
希望這會有所幫助。
請在此處放置更多的上下文。你使用什麼綁定?什麼是合同?你如何檢測到「正確」的斷開?這會幫助人們理解你的問題。 – oleksii 2012-01-17 12:00:03
你是否在不同的客戶端中維護會話對象? – 2012-01-17 12:00:57
@oleksii當斷開連接的用戶發送廣播簡單消息列表枚舉「ActionType.Disconnect」時,正確斷開連接。問題是當進程剛剛關閉並且沒有時間調用此廣播() – Saint 2012-01-17 12:11:51