免费个人博客网站模板下载,注册企业视频号,手机网站关键词排名查询,深圳市罗湖区住房和建设局网站过滤器概念APS.NET MVC中#xff08;以下简称“MVC”#xff09;的每一个请求#xff0c;都会分配给相应的控制器和对应的行为方法去处理#xff0c;而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。1、过滤器#xff08;Filters#xff09;… 过滤器概念APS.NET MVC中以下简称“MVC”的每一个请求都会分配给相应的控制器和对应的行为方法去处理而在这些处理的前前后后如果想再加一些额外的逻辑处理。这时候就用到了过滤器。1、过滤器Filters就是向请求处理管道中注入额外的逻辑。提供了一个简单而优雅的方式来实现横切关注点。2、所谓的过滤器FiltersMVC框架里面的过滤器完全不同于ASP.NET平台里面的Request.Filters和Response.Filter对象它们主要是实现请求和响应流的传输。通常我们所说的过滤器是指MVC框架里面的过滤器。3、过滤器可以注入一些代码逻辑到请求处理管道中是基于C#的Attribute的实现。当负责调用Action的类ControllerActionInvoker在调用执行Action的时候会检查Action上面的Attribute并查看这些Attribute是否实现了指定的接口以便进行额外的代码注入处理过滤器分类MVC支持的过滤器类型有四种分别是Authorization(授权),Action行为,Result结果和Exception异常。如下表过滤器类型接口描述AuthorizationIAuthorizationFilter此类型或过滤器用于限制进入控制器或控制器的某个行为方法ExceptionIExceptionFilter用于指定一个行为这个被指定的行为处理某个行为方法或某个控制器里面抛出的异常ActionIActionFilter用于进入行为之前或之后的处理ResultIResultFilter用于返回结果的之前或之后的处理但是默认实现它们的过滤器只有三种分别是Authorize授权ActionFilterHandleError错误处理各种信息如下表所示过滤器类名实现接口描述ActionFilterAuthorizeAttributeIAuthorizationFilter此类型或过滤器用于限制进入控制器或控制器的某个行为方法HandleErrorHandleErrorAttributeIExceptionFilter用于指定一个行为这个被指定的行为处理某个行为方法或某个控制器里面抛出的异常自定义ActionFilterAttributeIActionFilter和IResultFilter用于进入行为之前或之后的处理或返回结果的之前或之后的处理