MVC异常过滤器处理异常信息

今天学习了MVC的过滤器,写一下笔记!

一、过滤器分类

	1.Authorization(权限过滤器:一般用于登录验证 或其他权限管理)
	2.Action(行为过滤器:可让其执行自定义的方法)
	3.Result(结果过滤器:可让其执行自定义的方法)
	4.Exception(异常过滤器:可获取程序中的错误信息)

二、 过滤器的作用域

	1.作用全局:创建一个MyActionFilter类(名字自定义)、引入MVC空间、实现IActionFilter接口、
	再到FilterConfig.cs去配置 filters.Add(new MyActionFilter()),这时候就作用到全局了。

MVC异常过滤器处理异常信息_第1张图片
MVC异常过滤器处理异常信息_第2张图片

2、作用局部:创建MyPartActionFilter类(名字自定义)、引入MVC空间、继承ActionFilterAttribute、重
写父类里的OnActionExecuted、OnActionExecuting方法,最后需要作用的地方写上 [MyPartActionFilter]
(特性)就可以了。PS:选中ActionFilterAttribute按F12选择重写的方法,override必须加上,可限制控制器、action

MVC异常过滤器处理异常信息_第3张图片
MVC异常过滤器处理异常信息_第4张图片
三、过滤器优先级

	1.同级受配置先后顺序的影响,谁在前面就先执行谁
	2.我们可以在配置Filter中在添加一个参数就是设置执行顺序

MVC异常过滤器处理异常信息_第5张图片
MVC异常过滤器处理异常信息_第6张图片
MVC异常过滤器处理异常信息_第7张图片
PS:执行顺序:如果没有加order参数的话,同级按先后顺序执行,加了参数的值越小越先执行。作用域不同的话先是作用域大的先执行后执行小的!

四、过滤器实例

在这儿写一个Exception(异常过滤器:程序中出错就执行)处理的实例,获取错误信息,然后添加到错误日志文件里。

MVC异常过滤器处理异常信息_第8张图片
MVC异常过滤器处理异常信息_第9张图片
MVC异常过滤器处理异常信息_第10张图片
可以看到所有信息都已经写入到文件里面去了,成功!

总结:过滤器里面的内容点是有点杂多,每一个过滤器继承或者实现的都不一样,所以需要花时间下来敲敲,多练练!

你可能感兴趣的:(笔记)