我使用wsHttpBinding
和InstanceContextMode.PerCall
。在服務器端,我需要檢測客戶端是否已正確接收response
。如果沒有,我需要清除服務器端的一些東西。爲此,我嘗試使用OperationContext.Current.InstanceContext.Closed
和OperationContext.Current.InstanceContext.Faulted
。無論我做什麼,發生的事件都不會觸發(超時連接,關閉客戶端,同時仍然接收數據,拔掉電纜)。另外OperationContext.Current.InstanceContext.State
總是關閉。WCF PerCall not firing故障事件
如何檢測客戶端未收到請求? 作爲一種替代解決方案,我想如果我在客戶端捕獲錯誤,在服務器端調用清理方法,但這可能會使事情變得複雜,因爲互聯網連接可能會停止一段時間。
我不認爲這是可能的。確認始終從服務器到客戶端。如果您需要從客戶端到服務器的確認,則必須通過調用其他Web服務來完成。 –