过滤器方法的执行过程
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]
如果是单个过滤器:
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]
相关文章推荐
- memcached单点故障与负载均衡
- php对mongodb的基本操作(新手)
- java项目管理工具
- 工厂模式的简单例子
- nginx开发(一) 源码-编译
- iOS开发拓展篇-XMPP简单介绍
- WebKit之V8引擎(js调度C++)
- PAT (Basic Level)1021. 个位数统计
- UVA 10285(p304)----Longest Run on a Snowboard
- 高效Java编程工具集锦
- 【转】Web实时通信之Socket.IO ,真正的兼容ie
- 利用Scala语言开发Spark应用程序
- android中Intent和IntentFilter的区别
- 简单分页类
- 将某一类型文件还原为无默认打开方式
- Java容器学习之——List
- corosync+drbd+mysql实现的高可用
- zabbix 安装使用笔记
- Pony ORM
- 记一次不错的电话面试