DOTNETBOY

WebApi过滤器(Filter)之请求过滤器(Action)

在默认的WebApi中,框架提供了三种Filter,他们的功能和运行条件如下表所示:  

  Filter 类型实现的接口     描述
  Authorization  IAuthorizationFilter  最先运行的Filter,被用作请求权限校验
  Action  IActionFilter  在Action运行的前、后运行
  Exception  IExceptionFilter  当异常发生的时候运行

今天,我们来看一下在接口请求前后运行的Filter  :Action

首先,我们创建一个webapi项目,过程忽略


然后,在App_Start文件夹内添加一个ActionFilter类,并继承ActionFilterAttribute类,如下图,利用ActionFilter的OnActionExecuting与OnActionExecuted方法,做一个接口执行计时:


上图中的相关引用如下:

using System.Diagnostics;
using System.Web.Http.Filters;
using System.Web.Http.Controllers;
using System.Net.Http;
using System.Net;
using System.Text;


下面,我们需要注册这个Filter,注册Filter有三种方法:  

1、Action级别:只注册到指定的Action


2、Controller级别:只注册到指定的控制器


3、全局级别:注册到任意Controller和任意Action

进入到App_Start/WebApiConfig文件,添加如下代码

我们可以利用其中的OnActionExecuted方法,来实现接口响应参数的统一,可以让前端调用接口时更加明朗清晰,后面有机会,会在这边文章内完善。

以上就是Action过滤器的简单用法,更深层次的用法还需要大家自己去体验发掘。

分享
23 条评论
  • 小布丁

    小布丁来至 上海市 的网友

  • 小布丁

    小布丁来至 上海市 的网友

  • 小布丁

    小布丁来至 上海市 的网友

  • 小布丁

    小布丁来至 上海市 的网友

  • 小布丁

    小布丁来至 上海市 的网友

正在拼了命为您加载…