.net core 3.1 Autofac自动注入

.Net core 3.+ 使用 Autofac 完成自动注册

 public void ConfigureServices(IServiceCollection services)
        {
            
            services.AddHttpContextAccessor();
            services.AddControllers()
            .AddControllersAsServices(); //属性注入必须加上这个            
        }
        
     public void ConfigureContainer(ContainerBuilder builder)
        {
            //获取所有控制器类型并使用属性注入
            var controllerBaseType = typeof(ControllerBase);
            builder.RegisterAssemblyTypes(typeof(Program).Assembly)
                .Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
                .PropertiesAutowired();           
        }

Controller 中使用

public IAccount account { get; set; }

搞定

你可能感兴趣的:(.net core 3.1 Autofac自动注入)