应无所住,而生其心
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

asp.net core中间件与过滤器的区别

8218人阅读 2019/7/25 16:31 总访问:4812048 评论:0 收藏:0 手机
分类: .NET Core


中间件和过滤器的作用很相似,但是针对的点不一样。

过滤器更贴合业务,它关注于应用程序本身,比如你看ActionFilter 和 ResultFilter,它都直接和你的Action,ActionResult交互了,是不是离你很近的感觉,那我有一些比如对我的输出结果进行格式化啦,对我的请求的ViewModel进行数据验证,就用Filter。它是MVC的一部分,它可以拦截到你Action上下文的一些信息,而中间件是没有这个能力的。


什么情况我们需要中间件

那么,何时使用中间件呢?我的理解是在我们的应用程序当中和业务关系不大的一些需要在管道中做的事情可以使用,比如身份验证,Session存储,日志记录,异常处理等。其实我们的 asp.net core项目中本身已经包含了很多个中间件。mvc本身也是一个中间件



中间件执行更早,管道当中的,整个项目流程相关

(mvc,cookie,session,授权)

过滤器更贴近具体的业务:(过滤器是直接跟控制器打交道)

他们的作用域不同


 过滤器只是mvc中间件里边的一个小模块,它是MVC的一部分,它可以拦截到你Action上下文的一些信息

欢迎加群讨论技术,群:677373950(满了,可以加,但通过不了),2群:656732739

评价