最近在维护老项目。定义个拦截器记录接口日志。但是发现不生效 
最后发现因为继承的  ApiController不是Controller
 只能用 System.Web.Http下的拦截器生效。所以现在总结归纳一下
 Web Api:   System.Web.Http.Filters.ActionFilterAttribute 继承该类
 Mvc:   System.Web.Mvc.ActionFilterAttribute  继承该类
Mvc:
 提供4个重写方法
 OnActionExecuting  执行前
 OnActionExecuted   执行后
 OnResultExecuting  返回前
 OnResultExecuted   返回后
 Web Api:
 提供4个重写方法
 OnActionExecuting  执行前  OnActionExecutingAsync  执行前(异步)
 OnActionExecuted   执行后  OnActionExecutedAsync   执行后(异步)
 根据自己需求重写方法。然后注入
 注入有2种方法
 1. Web Api 和 Mvc 通用的。直接打特性。作用域为打了特性的 Class / Action
 我是新建了一个类继承基类避免全局+了。
2.全局注入Filter:
 Mvc:
 在FilterConfig下注入
Web Api:
 在WebApiConfig下注入