您的位置:首页 > 其它

.NET MVC 过滤器执行顺序

2016-04-15 00:00 405 查看
摘要: .NET MVC 过滤器执行顺序

以下内容抄自博客园

.net Mvc 过滤器执行顺序:

IAuthorizationFilter(OnAuthorization)----->IActionFilter(OnActionExecuting)---->控制器Action---->IActionFilter(OnActionExecuted) ---->IResultFilter(OnResultExecuting)---->视图---->IResultFilter(OnResultExecuted)

Filter的具体生存周期 :

来自controller虚方法 的OnActionExecuting .

应用于当前Controller的Filter中的OnActionExecuting:
先执行基类的,后执派生类的

执行应用于Action的Filter的OnActionExecuting顺序:
先执行基类的,后执派生类的

Action 方法

应用于Action的Filter的OnActionExecuted 的执行顺序
先执行派生类的,后执行基类的

应用于当前Controller的Filter中的OnActionExecuted方法
先执行派生类的,后执行基类的

Controller中的虚方法 OnActionExecute

以下为自己的内容:

上面写的顺序是系统接口的执行顺序,可是对于附加的过滤器并不包含在其中。

[code=plain][Filter1]
[Filter2]
public ActionResult DoAction(){}

上面的这个 Action 配置有两个过滤器:Filter1、Filter2。这两个过滤器也肯定是有执行顺序的,但是它们的顺序与直观的上下顺序正好相反:先执行 Filter2,再执行 Filter1。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: