• mvc过滤器


    AuthorizeAttribute(授权)

    AuthorizeAttribute是IAuthorizationFilter的默认实现,添加了Authorize特性的Action将对用户进行验证授权,只有通过了用户才可以进入这个Action.在进入Action之前首先执行OnAuthorization

    ActionFilterAttribute(自定义)

    ActionFilterAttribute在mvc中没有默认实现,需要自己定义

    1.OnActionExecuting在OnAuthorization之后(实际上ActionFilter中的方法都在其之后)进入Action之前执行

    base.OnActionExecuting的作用:

    一句话,就是调用base.OnActionExecuting(filterContext)这个后,才会执行后续的ActionFilter,如果你确定只有一个,或是不想执行后续的话,那么可以不用调用该语句。

    并且,filterContext.Result = xxx;会导致转向其它视图,后续的ActionFilter也是执行不了的。

    2.OnActionExecuted在Action中所有语句都执行完之后执行

    3.OnResultExecuting在执行操作结果(返回继承自ActionResult的所有类型)前调用

    4.OnResultExecuted在执行操作结果(返回继承自ActionResult的所有类型)后调用

    HandleErrorAttribute(处理错误)

    HandleErrorAttribute是IException的默认实现,在调式的时候,出现异常就会蹦出那黄色的页面

    我们也可以自定义异常处理

    需要注意的是ExceptionHandled表示这个异常是否已经处理(可能程序中有多个异常过滤器)

    复制代码
        public class MyExceptionAttribute : HandleErrorAttribute
        {
            public override void OnException(ExceptionContext filterContext)
            {
                if (!filterContext.ExceptionHandled)//避免重复处理
                {
                    //获取抛出异常的对象  
                    Exception ex = filterContext.Exception;
                    //写入异常日志
    
                    //已处理 
                    filterContext.ExceptionHandled = false;
                }
            }
        }
    复制代码
  • 相关阅读:
    7月24日学习
    7月23日学习
    7月22日学习
    7月21日学习
    【编程技巧】applicationContext.xml 里面可配置bean和数据库地址
    【编程技巧】 输入框只能输入中文
    【开发技术】Beyond Compare
    【编程技巧】Ext.QuickTips.init();
    【开发技术】常用正则表达式大全!(例如:匹配中文、匹配html)
    【编程技巧】addSubview和insertSubview的区别
  • 原文地址:https://www.cnblogs.com/sylone/p/7659506.html
Copyright © 2020-2023  润新知