.Net Core 3.x MVC ResultFilter 和 ResourceFilter

1. 结果过滤器 IResultFilter

     结果过滤器:这个过滤器的作用和操作过滤器非常相似,主要其作用范围是有微小区别的,结果过滤器是在操作即将返回结果到客户端之前(before)或者之后(after)执行干预,比如你可以在返回结果之后(after)去渲染视图

2. 资源过滤器 IResourceFilter

     资源过滤器:但请求进入,通过授权过滤器后,接下来将执行资源过滤器(如果有定义),使用资源过滤器甚至可以改变绑定模型,还可以在资源过滤器中实现缓存以提高性能

例子:

在 CustomActionFilterAttribute.cs  继续添加 CustomResourceFilterAttribute 和 CustomControllerFilterAttribute

修改 FilterController.cs 的 Infomation 特性 

生成编译 -> 浏览 /filter/Infomation 

这里可以可注意到三点:

1.OnResourceExecuted 比 全局Action 还先输出

2.OnResultExecuted 和 OnResultExecuting 在 全局Action 结束后 才处理

3.OnResultExecuted 之后才执行 OnResourceExecuting

这里就很清晰的可以看到过滤器的循序,就可以很好的知道项目业务中需要在哪个地方处理



下一章《.Net Core 3.x MVC IResourceFilter 缓存》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。