ASP.NET Core中间件和管道是如何协同工作以构建高效应用的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2256个文字,预计阅读时间需要10分钟。
今天来讨论一个ASP.NET Core中非常重要的概念:管道和中间件。在ASP.NET Core中,针对HTTP请求的处理采用pipeline模式,这也是常见的管道方式。管道容器内可以挂载很多中间件(中间逻辑),串联起来处理请求。
今天来讨论一个ASP.NET Core 很重要概念管道和中间件,在ASP.NET Core中,针对HTTP请求采用pipeline也就是通常说的管道方式来处理,而管道容器内可以挂载很多中间件(处理逻辑)“串联”来处理HTTP请求,每一个中间件都有权决定是否需要执行下一个中间件,或者直接做出响应。这样的机制使得HTTP请求能够很好的被层层处理和控制,并且层次清晰处理起来甚是方便。 示意图如下:
为了再次说明管道和中间件的概念,举一个官方给出的权限验证的例子,中间件A,B分别按顺序挂载在管道容器中,A为权限验证中间件,只有通过A的权限验证才能执行B,如果没有通过A的验证,A有权中断管道处理直接返回相应的错误提示例如401等。这样必须由上一节点来调用的串行递归执行方式就是pipeline,而每一个节点就是中间件或者叫中间组件。
本文共计2256个文字,预计阅读时间需要10分钟。
今天来讨论一个ASP.NET Core中非常重要的概念:管道和中间件。在ASP.NET Core中,针对HTTP请求的处理采用pipeline模式,这也是常见的管道方式。管道容器内可以挂载很多中间件(中间逻辑),串联起来处理请求。
今天来讨论一个ASP.NET Core 很重要概念管道和中间件,在ASP.NET Core中,针对HTTP请求采用pipeline也就是通常说的管道方式来处理,而管道容器内可以挂载很多中间件(处理逻辑)“串联”来处理HTTP请求,每一个中间件都有权决定是否需要执行下一个中间件,或者直接做出响应。这样的机制使得HTTP请求能够很好的被层层处理和控制,并且层次清晰处理起来甚是方便。 示意图如下:
为了再次说明管道和中间件的概念,举一个官方给出的权限验证的例子,中间件A,B分别按顺序挂载在管道容器中,A为权限验证中间件,只有通过A的权限验证才能执行B,如果没有通过A的验证,A有权中断管道处理直接返回相应的错误提示例如401等。这样必须由上一节点来调用的串行递归执行方式就是pipeline,而每一个节点就是中间件或者叫中间组件。

