今天学习了MVC的过滤器,写一下笔记!
一、过滤器分类
1.Authorization(权限过滤器:一般用于登录验证 或其他权限管理)
2.Action(行为过滤器:可让其执行自定义的方法)
3.Result(结果过滤器:可让其执行自定义的方法)
4.Exception(异常过滤器:可获取程序中的错误信息)
二、 过滤器的作用域
1.作用全局:创建一个MyActionFilter类(名字自定义)、引入MVC空间、实现IActionFilter接口、
再到FilterConfig.cs去配置 filters.Add(new MyActionFilter()),这时候就作用到全局了。
2、作用局部:创建MyPartActionFilter类(名字自定义)、引入MVC空间、继承ActionFilterAttribute、重
写父类里的OnActionExecuted、OnActionExecuting方法,最后需要作用的地方写上 [MyPartActionFilter]
(特性)就可以了。PS:选中ActionFilterAttribute按F12选择重写的方法,override必须加上,可限制控制器、action
三、过滤器优先级
1.同级受配置先后顺序的影响,谁在前面就先执行谁
2.我们可以在配置Filter中在添加一个参数就是设置执行顺序
PS:执行顺序:如果没有加order参数的话,同级按先后顺序执行,加了参数的值越小越先执行。作用域不同的话先是作用域大的先执行后执行小的!
四、过滤器实例
在这儿写一个Exception(异常过滤器:程序中出错就执行)处理的实例,获取错误信息,然后添加到错误日志文件里。
可以看到所有信息都已经写入到文件里面去了,成功!
总结:过滤器里面的内容点是有点杂多,每一个过滤器继承或者实现的都不一样,所以需要花时间下来敲敲,多练练!