我目前正在研究WCF-WSIT集成任務。我正在使用WCF和ws2007HttpBinding的WS-ReliableMessaging。WCF ReliableMessaging - 使用SessionId連接到現有的OperationContext
可靠的會話設置正確,我使用InstanceContextMode.PerSession,並且我的服務實例在一分鐘不活動後關閉。
我唯一擔心的是我不確定如何創建一個使用現有OperationContext的SessionId初始化的WCF代理。 Visual Studio生成的代理似乎不接受SessionId作爲構造函數等。
我希望能夠使用SessionId重新連接到活動服務,即使我的代理客戶端死了,我也不得不重新創建它。
感謝您的快速響應。我做了一些測試,你似乎是對的。 sessionId在頻道打開期間設置,無論我挖得多深,我都無法改變它。我在這裏嘗試解決的問題不是錯誤處理,它與會話管理有關。我希望我能夠斷開並重新連接我的客戶端與正在運行的服務。 – 2011-03-22 14:09:41
看起來我的服務實例在我的客戶端斷開連接後仍然活着並且像無頭雞一樣運行,但是我的客戶端無法重新連接。我想我需要使用ASP會話或類似的東西來堅持服務狀態的狀態,這意味着解析和重新連接客戶端的cookie。 – 2011-03-22 14:10:38
我很害怕這是不可能的。未處理的異常將終止服務部分,因此如果要與服務進行通信,則必須打開新的客戶端代理。 – 2011-03-22 14:11:57