zoukankan      html  css  js  c++  java
  • 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;
                }
            }
        }
    复制代码
  • 相关阅读:
    html+css学习
    mac安装软件系列
    Versions 出现 SVN Working Copy xxx locked
    linux安装gcc-c++
    linux常用命令
    linux挂载磁盘
    对jquery新增加的class绑定事件
    linux下安装php的mcrypt拓展
    Linux关闭selinux
    linux安装包资源库
  • 原文地址:https://www.cnblogs.com/sylone/p/7659506.html
Copyright © 2011-2022 走看看