什么管道就是中间件的部分了呢?我是这么理解的,.net core 是通过Startup 类配置服务和应用的请求管道,所以狭义点来讲这个管道就是指的请求管道,就是我们今天要理解的中间件管道。 .net core 核心体系结构的特点就是一个中间件系统,它是处理请求和响应的代码段。中间件彼此链接,形成一个管道。传入的请求通过管道传递,其中每个中间件都有机会在将它们传递到下一个中间件之前对它们进行处理。传出响应也以相反的顺序通过管道传递。 PS:简单来讲就是请求开始到响应结束的中间的一大部分。你可以理解成 " 汽车销售 " (开始买车到提车的过程,但愿不会坐在奔驰车盖上哭),哈哈……
我们先断章取义地看,这里面有 Kestrel 处理请求,将接收到的请求内容(字符串流)转化成结构化的数据(HttpContext)供后面的中间件使用的服务。欸,服务哟。那其实也就是 Kestrel 服务也是中间件嘛。 而第一张图中的MVC本身也作为中间件来实现的。 OK,到这里就已经确定了,我们可控的是通过Startup注入我们所需的服务,就是Startup注入的中间件可以做所有的事情,如处理认证,错误,静态文件等等,并且如上面所说的 MVC 在 .net core 也是作为中间件实现的。
|