.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来实现依赖注入;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM