zoukankan      html  css  js  c++  java
  • 过滤器

    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过滤器(全局异常处理类)

  • 相关阅读:
    python学习笔记(4)装饰器
    python学习笔记(3)函数
    python学习笔记(2)集合
    python学习笔记(1)字典
    nginx.conf文件内容详解
    关于斐波拉契数列引出的迭代器生成器的一点讨论
    MAC电脑运行python并发编程遇到的问题
    docker 11 :私有仓库搭建
    docker 10 :docker单机网络模式
    【转】C#环形队列
  • 原文地址:https://www.cnblogs.com/HuoAA/p/4139250.html
Copyright © 2011-2022 走看看