码迷,mamicode.com
首页 > 其他好文 > 详细

过滤器

时间:2014-12-03 10:25:45      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:des   io   ar   os   使用   sp   on   bs   cti   

1. 四种过滤器(面向切面编程)。

(1)Action过滤器、Result过滤器、AuthorizationFilter过滤器、Exception过滤器;

(2)执行先后顺序:AuthorizationFilter->Action->Result;

(3)Exception过滤器为全局过滤器;

2. Action过滤器(加载Action方法前后调用)的用法

(1)处理当前方法的过滤器;

(2)处理当前类的过滤器;

(3)全局过滤器;

3. Result过滤器:加载View视图前后调用。

4. filterContext上下文对象

(1)Route中保存了当前请求的路由信息和路由对象,如果本次请求是请求了某个区域里的控制方法,还可以通过 filterContext.RouteData.DataTokens["area"] 获取区域名称。

//string strAction = filterContext.RouteData.Values["action"].ToString();

string strController = filterContext.RouteData.Values["controller"].ToString();

string strArea = filterContext.RouteData.DataTokens["area"].ToString();

(2)另一种方式获取请求的类名的方法名

string strAction2 = filterContext.ActionDescriptor.ActionName;

string strController2=

filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;

(3)检查被请求方法是否加了MoneyAttribute特性(可以用作权限验证操作等)

if (filterContext.ActionDescriptor.IsDefined(typeof(Filters.MoneyAttribute), false))

            {

                filterContext.Result = new ContentResult { Content="跳过!"};

            }

5. AuthorizationFilter过滤器(授权过滤器)

*请求管道事件注册方法机制:方法命名规则,Application_ResolveRequestCache(Application_事件名称),请求管道自动将该方法注册到该事件。

Global.asax的使用。

6. Exception过滤器(全局异常处理类)

过滤器

标签:des   io   ar   os   使用   sp   on   bs   cti   

原文地址:http://www.cnblogs.com/HuoAA/p/4139250.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!