详解ASP.NET Core 中基于工厂的中间件激活的实现方法
imiddlewarefactory/imiddleware是中间件激活的扩展点。
usemiddleware扩展方法检查中间件的已注册类型是否实现imiddleware。如果是,则使用在容器中注册的imiddlewarefactory实例来解析imiddleware实现,而不使用基于约定的中间件激活逻辑。中间件在应用的服务容器中注册为作用域或瞬态服务。
优点:
- 按客户端请求(作用域服务的注入)激活
- 让中间件强类型化
imiddleware按客户端请求(连接)激活,因此作用域服务可以注入到中间件的构造函数中。
imiddleware
imiddleware定义应用的请求管道的中间件。invokeasync(httpcontext, requestdelegate)方法处理请求,并返回代表中间件执行的task。
使用约定激活的中间件:
使用middlewarefactory激活的中间件:
程序会为中间件创建扩展:
无法通过usemiddleware将对象传递给工厂激活的中间件:
将工厂激活的中间件添加到startup.configureservices
的内置容器中:
两个中间件均在startup.configure
的请求处理管道中注册:
imiddlewarefactory
imiddlewarefactory提供中间件的创建方法。中间件工厂实现在容器中注册为作用域服务。
可在microsoft.aspnetcore.http包中找到默认的imiddlewarefactory实现(即middlewarefactory)。
到此这篇关于asp.net core 中基于工厂的中间件激活详解的文章就介绍到这了,更多相关asp.net core中间件激活内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 可怕的电线杆(恐怖)
推荐阅读
-
Asp.Net Core中基于Session的身份验证的实现
-
CSRF在ASP.NET Core中的处理方法详解
-
CSRF在ASP.NET Core中的处理方法详解
-
详解在ASP.NET Core中如何编写合格的中间件
-
Asp.Net Core中WebSocket绑定的方法详解
-
ASP.NET Core中调整HTTP请求大小的几种方法详解
-
ASP.NET Core 2.1 中的 HttpClientFactory (Part 3) 使用Handler实现传出请求中间件
-
详解ASP.NET Core 中基于工厂的中间件激活的实现方法
-
Asp.net core中实现自动更新的Option的方法示例
-
ASP.NET Core中修改配置文件后自动加载新配置的方法详解