2010-06-15 77 views
3

當我執行ThreadPool.QueueUserWorkItem時,我不希望未處理的異常終止我的整個進程。所以我這樣做:後臺線程中的ASP.NET異常處理

ThreadPool.QueueUserWorkItem(delegate() { 
    try { FunctionIActuallyWantToCall(); } 
    catch { HandleException(); } 
}); 

這是推薦的模式?似乎應該有一個更簡單的方法來做到這一點。它在一個asp.net-mvc應用程序中,如果這是相關的。

回答

2

您需要捕獲回調中的異常(如您的示例中所示)以避免傳播到調用線程中。這是推薦的模式。如果它是一個ASP.NET應用程序,您也可以在Application_Error方法中處理它Global.asax