.Net Core 依赖注入注入服务

依赖注入(Dependency Injection)

注入自己的额业务层、仓储层服务。

  1. AddSingleton
  2. AddInstance
  3. AddScoped
  4. AddTransient
//注册单例模式,整个应用程序周期内IBLL接口的示例都是BLL的一个单例实例
services.AddSingleton();
services.AddSingleton(typeof(IBLL), typeof(BLL));  // 等价形式

//注册特定实例模型,整个应用程序周期内IBLL接口的示例都是固定初始化好的一个单例实例
TodoRepository2
services.AddInstance(new BLL());
services.AddInstance(typeof(IBLL), new BLL());  // 等价形式

//注册作用域型的类型,在特定作用域内IBLL的示例是BLL
services.AddScoped();
services.AddScoped(typeof(IBLL), typeof(BLL));// 等价形式

//获取该ITodoRepository实例时,每次都要实例化一次BLL类
services.AddTransient();
services.AddTransient(typeof(IBLL), typeof(BLL));// 等价形式

//如果要注入的类没有接口,那你可以直接注入自身类型,比如:
services.AddTransient();

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