ASP.NET Core 3.1 中使用Autofac實現屬性注入

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章