我有一個WsHttpBinding
request-reply服務方法,該方法處理針對中間層服務(連接到數據庫)的事務,並向客戶端返回響應消息一個交易ID。WCF:如何檢測斷開連接並獲取WsHttpBinding中的原始上下文
我有幾個問題:
我怎樣才能在客戶端意外斷開/故障它接收到響應之前檢測?我注意到channel_faulted事件從未觸發
WsHttpBinding
。假設可以實現#1,我如何獲得原始事務ID(即在傳出響應中),以便回滾/反轉客戶端未收到的事務?
任何幫助,非常感謝。謝謝。
感謝您的回覆。也許我只是不理解某些東西,但我不確定緊密耦合在哪裏發生。基本上,我只想讓服務檢測客戶何時未收到響應,以便恢復對系統的任何更改。不幸的是,客戶將無法參與任何分佈式事務。如果發生故障,我們唯一能做的就是保持我們的系統處於一致的狀態。 – shyneman 2011-05-26 23:09:23
我已經嘗試啓用可靠消息傳遞,但通過我自己的測試,服務仍然無法檢測客戶端何時斷開連接時發送迴應。您知道服務器何時可以知道客戶端斷開連接的機制(例如事件)嗎? – shyneman 2011-05-26 23:09:34
緊密的耦合是服務知道有關客戶端的任何信息。它不應該對客戶端有任何瞭解 - 僅從客戶端收到的有效載荷。 – 2011-05-27 00:17:45