zoukankan      html  css  js  c++  java
  • MVC过滤器简单刨析

    前言

    简单介绍一下过滤器。

    正文

    看下过滤器类型:

    action: 在动作方法之前及之后执行

    result: 在action结果被执行前或者之后执行,比如说返回一个视图,再执行视图前执行一个方法,再执行之后执行一个方法

    authorizationfilter:首先运行,看的出来一般是用来执行权限的,如果权限不够,那么后面没有,类似看门狗。

    exption:异常时候执行,一般处理错误跳转。

    这是mvc的一套系统,即使你不去写任何相关的代码,他们也会按照这个流程,检测,所以不能说框架是性能好的东西,只能说是有利于开发的东西。

    有一个默认执行的过滤器:

    F12进入:

    这个就是处理我们异常的信息的过滤器。

    来看下action类型吧。

    建立一个类,然后去继承ActionFilterAttribute,覆盖上面的这两个方法。

    这两个方法的含义,字面理解为正要执行和执行后。

    加了一些东西,用于输出他们调用时候的时间,必须精确到毫秒,应为代码数据一般都用ms计算。

    看下结果:

    这个时候加入result 过滤器:

    然后再次看下结合:

    清晰明了,视图过程和他们的执行顺序都反映出来了。

    看下onAuthoriaztion:

    这个是最先运行的,也称权限控制器,继承: AuthorizeAttribute.

    因为用的比较多了,有些必须登陆才可以使用的,可以把他放在全局中,有些部分的就放在自己的一个BaseControl中吧,然后继承。

    看下异常过滤器:

    最后一个处理异常的,继承HandleErrorAttribute,然后复写这个方法。

    拿到异常,然后自定义错误的跳转,当然自己可以根据不同的情况自己设定。

    一般会放在全局过滤器中。

    如果没有执行,加上这个配置吧。

    意思是定制的错误,方法启动。

  • 相关阅读:
    收藏好博客
    iOS设备的重力感应
    局域网内通过UDP协议进行传输接受数据——AsyncUdpSocket
    定时器NSTimer的用法
    线程数:5,ramp-up:1,循环::10 和 线程数:10,ramp-up:10,循环数:1,这两种情况有没有区别?
    什么是性能测试?
    JMeter 之 XPath提取器
    DNS--安装&&配置文件
    DNS--简介&&解析过程
    Tomcat--隐藏版本号
  • 原文地址:https://www.cnblogs.com/aoximin/p/13231368.html
Copyright © 2011-2022 走看看