首页 > 代码库 > Asp.Net Mvc Action过滤器(二)
Asp.Net Mvc Action过滤器(二)
在Mvc中为Action添加过滤器,有两种方式,
一、使用ActionFilterAttribute,简单方式,同时支持Result的过滤处理,
1.可以为空,支持的重写:OnActionExecuted,OnActionExecuting,OnResultExecuted,OnResultExecuting
2.支持类定义或方法定义
3.不支持多个过滤器实例,我的理解是一个action只能指定一个过滤器,目前还没有验证。
// // 摘要: // 表示筛选器特性的基类。 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true, AllowMultiple = false)] public abstract class ActionFilterAttribute : FilterAttribute, IActionFilter, IResultFilter
空使用实例:
public class AboveLogin2Attibute : ActionFilterAttribute { }
二、使用IActionFilter接口
1.专门用来处理Action的过滤处理
2.因为是接口,必须实现OnActionExecuted和OnActionExecuting
3.此方式可以通过FilterAttribute,指定执行顺序,配置是否可指定筛选器特性的多个实例
// // 摘要: // 定义操作筛选器中使用的方法。 public interface IActionFilter { // // 摘要: // 在执行操作方法后调用。 // // 参数: // filterContext: // 筛选器上下文。 void OnActionExecuted(ActionExecutedContext filterContext); // // 摘要: // 在执行操作方法之前调用。 // // 参数: // filterContext: // 筛选器上下文。 void OnActionExecuting(ActionExecutingContext filterContext); }
空使用实例:
public class AboveLoginAttibute : FilterAttribute, IActionFilter { public void OnActionExecuted(ActionExecutedContext filterContext) { throw new NotImplementedException(); } public void OnActionExecuting(ActionExecutingContext filterContext) { throw new NotImplementedException(); } }
更多参考:
MVC4 过滤器(转)
Action过滤器使用实例(一)
Asp.Net Mvc Action过滤器(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。