处理Web API中OnApplicationError事件中的异常

时间:2015-11-23 09:16:44

标签: c# asp.net asp.net-web-api

我有Web API应用程序和我想在OnApplicationError事件中处理Global.asax 中的异常,就像我对常用的Web应用程序所做的那样。但由于某些原因,当错误抛出时,它不会触发OnApplicationError事件。我认为这是ASP.NET中Web API的默认机制。 您是否知道我是否可以在Global.asax中处理此类错误?

我找到了一个解决方案 - 我创建了一个异常过滤器属性并在那里处理异常。我只是想知道我是否可以在global.asax中做同样的事情。

1 个答案:

答案 0 :(得分:1)

您可以在Global.asax中注册您的例外过滤器:

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterWebApiFilters(System.Web.Http.Filters.HttpFilterCollection filters)
    {
        filters.Add(new HandleExceptionAttribute());
    }

    protected void Application_Start()
    {
         RegisterWebApiFilters(GlobalConfiguration.Configuration.Filters);
    }
}