.net5 Autofac自动注入

安装 Autofac.Extensions.DependencyInjection;Autofac

1.在Startup.cs里面添加    

public void ConfigureContainer(ContainerBuilder containerBuilder)
{
containerBuilder.RegisterModule<ConfigureAutofac>();
}

 

2.新建类ConfigureAutofac.cs

public class ConfigureAutofac : Autofac.Module
{
  protected override void Load(ContainerBuilder builder) {
    var baseTypeDomain = typeof(IDependency); //IDependency 空的接口,所有接口继承它就可以了    

    //自动注册接口
    builder.RegisterAssemblyTypes(assembly)
    .Where(b => b.GetInterfaces().Any(c => c == baseTypeDomain && b != baseTypeDomain))
    .AsImplementedInterfaces()
    .SingleInstance();

  }
}

3.修改Program.cs

  

.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}).UseServiceProviderFactory(new AutofacServiceProviderFactory());//改用Autofac来实现依赖注入;

 

posted @   春光牛牛  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示