您的位置:首页 > 其它

过滤器方法的执行过程

2016-02-26 14:18 357 查看
如题,过滤器涉及的方法OnActionExecuting,OnActionExecuted,OnResultExecuting,OnResultExecuted

如果是单个过滤器:

OnActionExecuting--->OnActionExecuted--->OnResultExecuting-->OnResultExecuted

如果有多个过滤器:

在global中可以注册多个过滤器。比如先注册了A过滤器,然后注册了B过滤器。。在对应控制器方法上又添加了C过滤器。。那么执行过程呢?

首先,在global中注册过滤器采取的是栈的方式

B OnActionExecuting--->A OnActionExecuting--->C OnActionExecuting

--->[b][b]C[/b] OnActionExecuted--->[b][b][b]A[/b][/b] [/b]OnActionExecuted--->[b][b]B[/b] [/b]OnActionExecuted[/b]

[b]--->[/b][b]B [b][b]OnResultExecuting[/b][/b][/b][b]--->A [b]OnResultExecuting[/b]--->C [b]OnResultExecuting[/b][/b]

[b]--->C [b][b][b]OnResultExecuted--->A [/b][/b][b][b]OnResultExecuted--->B [/b][/b][b][b]OnResultExecuted[/b][/b][/b][/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: