c# 依赖注入

依赖注入


文章目录

  • 依赖注入
    • 一、.net core主要提供了三种依赖注入的方式
    • 二、权重
    • 三、如果我们需要注入的对象很多怎么办


一、.net core主要提供了三种依赖注入的方式

AddTransient瞬时模式: 每次请求,都获取一个新的实例。即使同一个请求获取多次也会是不同的实例

AddScoped: 每次请求,都获取一个新的实例。同一个请求获取多次会得到相同的实例

AddSingleton单例模式: 每次都获取同一个实例

二、权重

AddSingleton→AddTransient→AddScoped

AddSingleton的生命周期:

项目启动-项目关闭 相当于静态类 只会有一个

AddScoped的生命周期:

请求开始-请求结束 在这次请求中获取的对象都是同一个

AddTransient的生命周期:

请求获取-(GC回收-主动释放) 每一次获取的对象都不是同一个

三、如果我们需要注入的对象很多怎么办

通过反射来解决

新建扩展方法CoreExtensions,然后在StartupConfigureServices方法中加上 services.AddRepository();
c# 依赖注入_第1张图片

services.AddRepository();

你可能感兴趣的:(c#,c#)