.NETCore过滤器和拦截器
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.NETCore过滤器和拦截器
拦截器Filter 共有五种 Authorization Fileter、Resource Fileter、 Exception Filter 、Action Filter、 Result Filter
Exception Filter 当出现异常时进⼊此⽅法,可在这针对不同的异常做相关处理并返回指定数据,避免直接把错误暴露给⽤户
Action Filter 设置
在⽅法前后会跳转到OnActionExecuted和OnActionExecuting两个⽅法,⽅便追踪接⼝执⾏情况
Authonization Filter
权限控制过滤器通过Authonization Filter 可以实现复杂的权限⾓⾊认证、登录授权等操作
Resource Filter 进⾏资源缓存、防盗链等操作。
Result Filter
结果过滤器,可以对结果进⾏格式化、⼤⼩写转换等⼀系列操作。
使⽤Result Filter 需要实现 IResult 抽象接⼝,接⼝要求实现
OnResultExecuting ⽅法和OnResultExecuted ⽅法
AOP 拦截器即动态代理
C# 中可以⽤来做AOP 的开源类库有若⼲个,⽐较流⾏的: Castle DynamicProxy 、 Fody、Mono。
Cecil
这些类库之所以能够实现AOP是因为他们有动态修改IL代码的能⼒,这种能⼒⼜被称为IL weaving。
还有的类库把AOP和Dependency Injection 结合在了⼀起,通过服务器上注册⼀个拦截器(Interceptor)的⽅式达到AOP的⽬的,例如:
Castle Windsor
Autofac。