2009-08-07 69 views
2

在WCF中調用異步方法時是否可以捕獲EndpointNotFoundException?我在客戶端的try/catch塊中包裝了服務調用,並且捕獲了EndpointNotFoundExceptions,FaultExceptions和一般異常,但是如果服務在客戶端運行後消失,則異步調用中不會發生異常,但最終會超時發生。EndpointNotFoundException和異步調用

在異步調用中快速捕獲死亡服務的最佳方式是什麼(或有沒有辦法)?

+0

這是一個類似的問題? (不幸的是尚未解決)http://stackoverflow.com/questions/1204534 – 2009-08-07 00:38:23

+0

它是相似的,但SO的搜索沒有找到我。顯然不同的關鍵字。 – 2009-08-07 00:49:12

回答

1

這已打開一段時間,現在沒有任何操作。我想答案基本上是在網絡類型/預期處理量/等等的情況下儘可能低地設置你的超時。一種可能性是用非常短的超時(例如5秒)設置一個端點,只需一個'Ping'方法作爲心跳。使用客戶端定期調用和監視此方法以獲取服務器/端點的健康狀況。正如西蒙·福克斯指出的那樣,查詢Where to trap failed connection on WCF calling class?以獲得更詳細的回覆。