天天看點

.net6 引入autofac

​​.net6 引入autofac​​

引入NuGet

.net6 引入autofac

注冊Autofac

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

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

 自動注冊一個類庫的服務

在Program注入autofac

.net6 引入autofac

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());

builder.Host.ConfigureContainer<ContainerBuilder>(builder =>

{

Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName());

builder.RegisterAssemblyTypes(assembly)

.AsImplementedInterfaces()

.InstancePerDependency();

});

.net6 引入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 });      
.net6 引入autofac

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

.net6 引入autofac
.net6 引入autofac
public static class ServiceCore
{
    /// <summary>
   /// 擷取程式集名稱
   /// </summary>
  /// <returns></returns>
  public static string GetAssemblyName()
  {
    return Assembly.GetExecutingAssembly().GetName().Name;
  }
}      

引入NuGet

.net6 引入autofac

注冊Autofac

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

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

 自動注冊一個類庫的服務

在Program注入autofac

.net6 引入autofac

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());

builder.Host.ConfigureContainer<ContainerBuilder>(builder =>

{

Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName());

builder.RegisterAssemblyTypes(assembly)

.AsImplementedInterfaces()

.InstancePerDependency();

});

.net6 引入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 });      
.net6 引入autofac

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

.net6 引入autofac
public static class ServiceCore
{
    /// <summary>
   /// 擷取程式集名稱
   /// </summary>
  /// <returns></returns>
  public static string GetAssemblyName()
  {
    return Assembly.GetExecutingAssembly().GetName().Name;
  }
}