MVC过滤器简单刨析

前言

简单介绍一下过滤器。

正文

看下过滤器类型:

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

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

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

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

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

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

MVC过滤器简单刨析

F12进入:

MVC过滤器简单刨析

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

来看下action类型吧。

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

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

MVC过滤器简单刨析

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

看下结果:
MVC过滤器简单刨析

这个时候加入result 过滤器:

MVC过滤器简单刨析

然后再次看下结合:

MVC过滤器简单刨析

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

看下onAuthoriaztion:

MVC过滤器简单刨析

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

MVC过滤器简单刨析

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

MVC过滤器简单刨析

看下异常过滤器:
MVC过滤器简单刨析

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

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

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

MVC过滤器简单刨析

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

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

MVC过滤器简单刨析

上一篇:MVC 测试action的运行速度


下一篇:Apache DolphinScheduler(海豚调度) - 1.3 系列核心表结构剖析