ASP.NET Core中的依赖注入(4): 构造函数的选择与服务生命周期管理

发布于:
Microsoft.Net

ServiceProvider最终提供的服务实例都是根据对应的ServiceDescriptor创建的,对于一个具体的ServiceDescriptor对象来说,如果它的ImplementationInstance和ImplementationFactory属性均为Null,那么ServiceProvider最终会利用其ImplementationType属性返回的真实类型选择一个适合的构造函数来创建最终的服务实例。我们知道服务服务的真实类型可以定义了多个构造函数,那么ServiceProvider针对构造函数的选择会采用怎样的策略呢?

目录

  • 一、构造函数的选择
  • 二、生命周期管理
    • ServiceScope与ServiceScopeFactory
    • 三种生命周期管理模式
    • 服务实例的回收