.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; }
搞定
下面提供一个最简单的例子
本文介绍如何在.NetCore3.0环境中使用Autofac进行自动依赖注入,通过配置IServiceCollection和ContainerBuilder实现控制器的自动注册,简化开发流程。
1050

被折叠的 条评论
为什么被折叠?



