C# web api 中过滤器的使用

一、开篇

  Fiter在Web API中经常会用到,主要用于记录日志,安全验证,全局错误处理等;Web API提供两种过滤器的基本类型:actionfilterattribute,exceptionfilterattribute;两个类都是抽象类,actionfilter主要实现执行请求方法体之前(覆盖基类方法OnActionExecuting),和之后的事件处理(覆盖基类方法OnActionExecuted);exceptionfilter主要实现触发异常方法(覆盖基类方法OnException)。

  之前在写api的时候用的log4net,需要在每个控制器或者方法中添加写日志的方法,后来了解到有个过滤器这个东东,都写在过滤器中很方便。

二、ExceptionFiter的使用

  2.1、新建一个类实现ExceptionFilter类,重写OnException方法。

  

   2.2、在控制器中使用

  

  2.3、效果

  

三、ExceptionFilterAttribute的使用

  3.1、新建一个类实现ExceptionFilterAttribute

  

   3.2、在需要使用的控制器或者action前面加上特性即可

  

四、 在mvc中和web api添加全局的控制有区别

  在webapi中是在WebApiConfig中添加config.Filters.Add(new xxxxx);

  在mvc项目中是在FilterConfig中添加 filters.Add(new xxxx());

五、在mvc中使用过滤器

  

    

原文地址:https://www.cnblogs.com/WangJunZzz/p/7878286.html