3.2 中间件

3.2.1 中间件简介

ASP.NET Core引入了中间件(Middleware)的概念。所谓中间件,就是处理HTTP请求和响应的组件,它本质上是一段用来处理请求与响应的代码。多个中间件之间的链式关系使之形成了管道(Pipeline)或请求管道。管道意味着请求将从一端进入,并按照顺序由每一个中间件处理,最后从另一端出来。每一个传入的HTTP请求,都会进入管道,其中每一个中间件可以对传入的请求进行一些操作并传入下一个中间件或直接返回;而对于响应也会遍历进来时所经过的中间件,顺序与进来时的正好相反,如图3-3所示。

图3-3 中间件

ASP.NET Core中内置了多个中间件,它们主要包含MVC、认证、错误、静态文件、HTTPS重定向和跨域资源共享(Cross-Origin Resource Sharing,CORS)等,ASP.NET Core也允许向管道添加自定义中间件。