.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