.netcore3.1使用autofac

 (.netcore中本身已经实现了IOC容器,其实没有必要替换成autofac。如果非常习惯autofac,替换也是无可厚非的。)

第一步、在项目中引入Autofac和Autofac.Extensions.DependencyInjection

 

第二步、修改program.cs

   public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                })
            .UseServiceProviderFactory(new AutofacServiceProviderFactory());

 

第三步、在startup.cs中实现方法

 public void ConfigureContainer(ContainerBuilder builder)
        {

            #region 注入业务服务(此处使用反射注入)
            Assembly assembly = Assembly.Load("Qingy.DotNetCoreStudy.CustomerServiceService");
            List<Type> types = assembly.GetTypes().Where(u => u.IsClass && !u.IsAbstract && !u.IsGenericType
            && u.GetInterfaces().Any(p => p == typeof(ICustomerServicerSerice))
            ).ToList();
            builder.RegisterTypes(types.ToArray()).InstancePerLifetimeScope();  //注入,并声明生命周期
            #endregion 


        }

 

测试

.netcore使用autofac

相关文章:

  • 2021-08-01
  • 2021-11-28
  • 2022-12-23
  • 2022-01-09
  • 2021-07-21
  • 2022-01-27
  • 2022-02-24
  • 2022-02-09
猜你喜欢
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2021-09-28
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案