我有一個WCF應用程序,有時會執行長時間運行的查詢。我在客戶端創建了可以理解套接字超時的代碼,並且稍後會採取措施重新裝入服務器以獲取答案。在發生TimeoutException(包括SocketException)之前,系統會引發大量第一次機會異常。過去,第一次機會的例外已經大大減緩了我的應用程序,直到我抓住並處理它們。第一次機會SocketException被拋出,但我的catch不起作用
我想擺脫這些第一次機會的異常,所以我創建了一個try-catch塊來處理SocketException,並打開VS2010中的異常並重新執行代碼。當我這樣做時,我看到調試器顯示出發生了SocketException,但我的catch塊從未輸入。 (見下文)
我發現了一些類似的職位,包括C# SocketException doesn't get caught,但沒有答案,我發現地址如何捕捉到異常,還是我甚至應該擔心。
所以我的問題是:
1)我應該擔心這些第一次機會異常?
2)如果是這樣,我該如何讓系統捕捉它們?