1.在項目NuGet程序包中引用:Autofac.Extensions.DependencyInjection
2.Program程序入口類中替換容器
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); })
.UseServiceProviderFactory(new AutofacServiceProviderFactory());//Step 1:容器替換
3.Startup類中配置加入控制器替換規則
public void ConfigureServices(IServiceCollection services)
{
services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>()); //Step 2:在Startup 服務配置中加入控制器替換規則
services.AddControllers();
}
4.定義特性標註
/// <summary>
/// 依賴注入特性
/// </summary>
public class DependencyRegisterAttribute : Attribute
{
}
//添加特性標註
[DependencyRegister]
pu