异常处理 – Web API:’全局’过滤器不工作(ExceptionFilter)

前端之家收集整理的这篇文章主要介绍了异常处理 – Web API:’全局’过滤器不工作(ExceptionFilter)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我实现了这样的异常过滤器: http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling
并在全球注册,如microsoft或stackoverflow-users( How to add global ASP.Net Web Api Filters?)解释.
public static void RegisterWebApiFilters(System.Web.Http.Filters.GlobalFilterCollection filters)
{
//other filters
  filters.Add(new MyExceptionFilter());
}

但是如果我抛出异常,我的方法不被调用.
我的异常处理方法只有在将[MyExceptionFilter]属性添加到控制器方法时才被调用,但是我希望通过全局注册过滤器可以避免所有方法.

我试图为过滤器设置一个命令,但这没有任何效果.

编辑:我注意到,在新的Wep Api RC中,该方法称为“RegisterGlobalFilters”,这似乎是MVC过滤器集合.

如果我打电话

GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());

有用.这是Web Api的集合.

看起来我必须为web api建立自己的“FilterConfig”类

解决方法

像我在我的问题中提到的:有不同的过滤器集合.一个用于MVC,一个用于web api.

如果要将过滤器添加到web api,请将此代码添加到global.asax

GlobalConfiguration.Configuration.Filters.Add(new MyExceptionFilter());

猜你在找的HTML相关文章