.net6 引入autofac


引入NuGet

注冊Autofac

在Program的var app = builder.Build();前加上這段代碼

 

1 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
2 builder.Host.ConfigureContainer<ContainerBuilder>(builder =>
3 {
4     builder.RegisterType<LogRecordsService>().As<ILogRecordsService>();
5 });
View Code

 自動注冊一個類庫的服務

在Program注入autofac

 

1 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
2 builder.Host.ConfigureContainer<ContainerBuilder>(builder =>
3 {
4     Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName());
5     builder.RegisterAssemblyTypes(assembly)
6            .AsImplementedInterfaces()
7            .InstancePerDependency();
8 });
View Code

 

在要注冊的類庫下的某個類中,寫一個方法

 

 

 

 

 1  public static class ServiceCore
 2     {
 3         /// <summary>
 4         /// 獲取程序集名稱
 5         /// </summary>
 6         /// <returns></returns>
 7         public static string GetAssemblyName()
 8         {
 9             return Assembly.GetExecutingAssembly().GetName().Name;
10         }
11     }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM