異步方法調用期間檢測連接失敗我有一個異步WCF服務實現,我想在客戶端中止一個WCF方法調用中的連接來檢測。在WCF服務
基本上,這就是我想要的:
- 客戶端調用WCF方法
- 服務器開始處理異步
- 客戶中止連接請求(或無論什麼原因,連接失敗)
- 服務器應通知客戶端中止連接
這可能嗎?
這是一個長輪詢實現。或者,服務器可以確保客戶端成功接收到響應?如果沒有,則應爲下一個輪詢請求保存響應。
異步方法調用期間檢測連接失敗我有一個異步WCF服務實現,我想在客戶端中止一個WCF方法調用中的連接來檢測。在WCF服務
基本上,這就是我想要的:
這可能嗎?
這是一個長輪詢實現。或者,服務器可以確保客戶端成功接收到響應?如果沒有,則應爲下一個輪詢請求保存響應。
您可以設置的,而不是客戶端,其中保持聯繫,等待一個答案輪詢的解決方案,它使請求,並立即斷開。然後,如果請求已完成或尚未完成,則每隔X秒重新連接以輪詢。
在服務器上,如果你沒有看到X * 2秒客戶調查,然後事情發生到客戶端,你應該中止請求。
使這項工作將需要在服務器上一些額外的基礎設施,以跟蹤哪些請求是活躍的,當你最後一次見到客戶,很遺憾。
我假設你正在使用TCP。 TCP實際上沒有一種方法來判斷「另一方」是否仍然存在,而不是週期性地發送「保持活着」消息。一些建立在TCP之上的協議可以做到這一點,但不是原始的TCP,恕我直言。 – 2011-04-06 08:58:43
然而,我認爲服務器可以判斷客戶端是否收到響應,因爲TCP可以檢測到客戶端發送的確認。 – 2011-04-06 09:01:50