2012-03-09 50 views
1

我無法找到Application.ThreadException事件來偵聽我的WCF服務。我想這是用於WinForms,所以WCF服務有沒有ThreadException事件?或者他們最終會在AppDomain.CurrentDomain.UnhandledExceptionWCF服務上的Application.ThreadException?

回答

0

Application.ThreadException事件僅用於「處理髮生在否則未處理的異常Windows窗體線程」(加上強調,MSDN),所以它是一個WCF服務太大的幫助不是。

最好的辦法是確實使用AppDomain.CurrentDomain.UnhandledException。但請注意,您無法阻止該進程退出。此事件僅允許您在「系統默認處理程序向用戶報告異常並終止應用程序」之前執行一些日誌記錄或錯誤報告。 (MSDN)。

你很多人也想實現你自己的IErrorHandler。另外,關於一些WCF錯誤處理最佳實踐,結賬this blog entry,而你的。

0

這取決於您的客戶端框架。 WCF錯誤拋出的客戶端上的異常,因此處理它們像任何其他全球性的異常處理程序:

的WinForms使用

Application.ThreadException 

WPF使用:

Application.DispatcherUnhandledException 

作爲基督教國家,這些僅適用於在「GUI」線程上拋出的異常,但WCF將在默認情況下封送雙工服務上的回調。