5.3 筛选器/拦截器/过滤器/AOP
5.3.1 关于筛选器
筛选器又名过滤器,拦截器,在 ASP.NET Core
中,可在请求处理管道中特定阶段之前或之后运行代码。筛选器是非常经典的面向切面编程方式,也就是所谓的 AOP
操作。
通俗点说就是可以在控制器 Action
执行前后进行切面操作或返回 Result
结果前后操作。
5.3.2 应用场景
通过自定义筛选器可以实现错误处理,缓存处理,授权处理,日志记录,实现工作单元事务(Uow
)等等切面操作,从而使业务逻辑和系统行为逻辑进行分离。
5.3.2.1 筛选器优点
- 易拓展,易集成
- 业务和系统逻辑分离,不干扰业务代码
- 可实现接口多维度控制,如请求参数篡改,返回值篡改,限流,分布式事务支持
- ...
5.3.3 支持拦截应用
Mvc/WebAPI
控制器/Action
Razor Pages
页面- 框架提供的
动态 WebAPI
- 所有请求资源
- 全局异常