你必须要知道的.NET core------------------管道(Pipeline)(ASP.NET CORE 的核心)他的Hosting托管名称叫做 GenricWebHostService

WEB平台--------------拥有一个扩展能力极强的管道   

我们可以通过对管道的定制 满足各种场景下的Http请求 (路由 缓存 认证授权 等等.......................................)

中间件---asp.net core 请求处理管道是由 一个服务(监听 接收 分发  响应)+一组中间件组成的(下图)

 

 

 

 

 

 

 

HpptContext 由 RequestDelegateFUNC<> 进行处理 ,-----------HTTP请求处理器 

 

 

中间件的注册:Configure.IApplicationBuilder.Use

 

 

 

 

 

 

 

 如何定义中间件

1.强类型定义

 

                                           需要实现IMiddleware接口 并且 注册中间件

2.按照约定 可以不用手动注册 框架会以单例模式 自动注册

    2.1:实现的中间件类型必须要有一个有效的公共的构造函数,必须包含一个RequestDelegate类型 返回值为Task

    2.2;实现的中间件必须具有一个 名字为Invoke或者InvokerAsync的公共方法;

 

 

 

 可以看到直接使用

ASP.NET CORE中的服务注册(ConfigureServices 和StartUp)

 

 

 

posted @ 2021-09-06 16:19  三五八团楚云飞  阅读(73)  评论(0)    收藏  举报