2008-10-29 62 views
8

我喜歡在我可以使用WCF回調時,因爲對我來說,它比客戶端需要輪詢服務器和其實時性要好於輪詢。我遇到的問題是,當我訂閱WCF服務事件時,是否有任何心跳使客戶端和服務器之間的連接保持活動狀態。我開始認爲並不是因爲服務器消失時訂閱丟失,客戶端也不會拋出異常(可能是WCF運行時吞下的異常)。服務器也是如此,當客戶端消失並且服務器試圖調用回調並且拋出異常時。有什麼想法嗎?WCF回調和網絡流量

感謝

回答

3

有這link複式合同的一個很好的簡短描述(WCF回調)。雙面合同基本上是兩個單向渠道,並且不存在隱含的消息關聯。你是對的,沒有涉及「心跳」消息,在進行雙工呼叫時只發生正常的wsHTTP握手流量。

我啓動了HTTP流量嗅探器,名爲Fiddler2(不受支持的Microsoft工具)來驗證會話流量。在服務呼叫期間和之後沒有看到任何發生在內部的HTTP「心跳」通信。我讓客戶跑了很長時間。好問題,讓我挖了一點。

0

我繼續爲訂閱客戶端(基本上是對他們託管的函數的調用)創建一個循環心跳。

我已經運行了幾個小時,它的工作原理,這有助於確保連接。