后台线程中的ASP.NET异常处理

当我执行ThreadPool.QueueUserWorkItem时,我不希望未处理的异常终止我的整个进程.所以我做了类似的事情:

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

这是推荐的模式吗?似乎应该有一种更简单的方法来做到这一点.它位于asp.net-mvc应用程序中,如果这是相关的.

最佳答案 您需要在回调中捕获异常(如示例中所示)以避免传播到调用线程中.这是推荐的模式.如果它是ASP.NET应用程序,您也可以在Global.asax的Application_Error方法中处理它

点赞