webapi 控制器支持属性注入
安装autofac
builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder =>
{
containerBuilder.RegisterType<DepartmentRepository>().As<IDepartmentRepository>().PropertiesAutowired().EnableInterfaceInterceptors();
containerBuilder.RegisterType<DepartmentService>().As<IDepartmentService>().PropertiesAutowired().EnableInterfaceInterceptors();
//注册每个控制器和抽象之间的关系
var controllerBaseType = typeof(ControllerBase);
containerBuilder.RegisterAssemblyTypes(typeof(Program).Assembly)
.Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
.PropertiesAutowired();//支持属性注入
});
//支持控制器的实例让I0c容器来创建---autofac来创建
builder.Services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());

浙公网安备 33010602011771号