在介绍Action Filter之前,我们先来回顾一下asp.net mvc请求执行的过程。首先我们通过URL Routing 获取到相应的Controller和Action;然后执行Action,并且返回ActionResult;最后执行ActionResult,输出相应的结果。
好了,回顾完整个请求执行过程,下面该介绍Action Filter一些相应的知识。
(1)Action Filter是贯穿mvc执行过程,为什么要这样说呢?因为Action Filter有四个方法成员,分别是OnActionExecuting;OnActionExecuted;OnResultExecuting;OnResultExecuted;其中执行顺序是按照我所写的方法顺序执行的,在下一篇博客中我将会通过一个小的Demo来说明这四个方法的执行顺序。说完Action Filter的四个方法,还有一个orde属性,这个属性是标识不同Action Filter在mvc程序中执行的顺畅的。
(2)Action Filter可以说能够做“所有”事情,包括:日志;缓存;异常处理等等。
(3)现在说明一下Action Filter各方法的执行顺序吧!
首先我们输入URL Routing;
第二步执行OnActionExecuting;
第三步执行Action;
第四步执行OnActionExecuted;
第五步执行OnResultExecuting;
第六步执行ActionResult;
第七步执行OnResultExecuted;
(4)下面通过一些书面文字,来说明一下Action Filter的实现过程;
首先我们定义一个类,继承ActionFilterAttribute;
然后覆盖(override)必要的方法;
最后标记在需要进行相应操作的Action上(这里就可以使用orde属性了,标识不同Action Filter的执行顺序);
以上我所总结的只是Action Filter的最基本的知识!!!
本文转自 王祖康 51CTO博客,原文链接:http://blog.51cto.com/wzk89/402777,如需转载请自行联系原作者