我实现了这样的异常过滤器:
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?)解释.
并在全球注册,如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”类