MVC过滤器简单刨析

2021-01-26 14:13

阅读:541

标签:简单   action   技术   精确   正文   权限控制   处理异常   hand   配置   

前言

简单介绍一下过滤器。

正文

看下过滤器类型:

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

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

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

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

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

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

技术图片

F12进入:

技术图片

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

来看下action类型吧。

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

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

技术图片

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

看下结果:
技术图片

这个时候加入result 过滤器:

技术图片

然后再次看下结合:

技术图片

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

看下onAuthoriaztion:

技术图片

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

技术图片

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

技术图片

看下异常过滤器:
技术图片

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

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

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

技术图片

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

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

MVC过滤器简单刨析

标签:简单   action   技术   精确   正文   权限控制   处理异常   hand   配置   

原文地址:https://www.cnblogs.com/aoximin/p/13231368.html


评论


亲,登录后才可以留言!