.NET Core 6 中 Autofac 的接口作用域和 ResolveByKey
接口作用域
Autofac 在处理接口时支持两种作用域:
- 瞬态(Transient):每次请求都会创建一个新的实例。
- 单例(Singleton):在应用程序生命周期内,所有请求都返回同一个实例。
ResolveByKey
ResolveByKey 方法可用于通过键值解析接口,以便在多个实例的情况下指定要返回的特定实例。它的工作原理如下:
- Autofac 根据键值查找已注册的实例。
- 如果未找到与键值匹配的实例,则会创建一个新实例并返回。
- 如果已启用作用域(例如,使用中间件),则 Autofac 会检查作用域是否处于活动状态。如果是,则返回作用域内的实例;否则,返回根范围内的实例。
这种机制确保了在需要时可以轻松创建和解析特定实例,即使在多实例场景中也是如此。
autofactest.zip
预估大小:11个文件
autofactest.csproj
627B
autofactest.csproj.user
406B
appsettings.Development.json
127B
AutofacMiddle.cs
1017B
Startup.cs
6KB
Properties
文件夹
launchSettings.json
820B
Program.cs
796B
AppHttpContext.cs
851B
ClassTest.cs
481B
6.5KB
文件大小:
评论区