018-019 NET5_内置容器支持依赖注入+IServiceCollection的生命周期

2021-02-19 01:19

阅读:601

标签:生命周期   strong   情况   图片   无限   image   不同   依赖   str   

概念

DI依赖注入: IServiceCollection仅支持构造函数注入

什么是依赖注入?

如果对象A依赖对象B,对象B依赖对象C,就可以先构造对象C,然后传递给对象B,再把对象B传递给A。得到A的具体实例;

 IServiceCollection可以支持无限层级的依赖注入;前提是都要先注册服务(注册抽象和具体的映射关系)

分别注册对象A和对象B

技术图片

  在对象B构造函数中创建对象

技术图片

 

 控制中分别构造对象A和B

技术图片

 019 IServiceCollection的生命周期

   在创建对象的时候,不同的情况,需要让对象单例;每一次都创建一个新实例;不同的作用域创建实例;

瞬时生命周期: 每一次getService获取到的实例,都是不同的实例

单例生命周期:在整个进程中获取到的都是同一个实例

作用域生命周期:在同一个作用域,获取到是同一的实例,不同的作用域下,获取的是不同的对象实例;

建议:开发中,一般情况下使用单例生命周期。更多的是瞬时生命周期的使用

技术图片

 技术图片

  技术图片

 

018-019 NET5_内置容器支持依赖注入+IServiceCollection的生命周期

标签:生命周期   strong   情况   图片   无限   image   不同   依赖   str   

原文地址:https://www.cnblogs.com/ljg3020/p/14406036.html


评论


亲,登录后才可以留言!