asp.net core3.0 mvc用autofac

2012 ワード

久しぶりに文章を书いて、最近使っています.net core3.0、一部の開発中の問題はついでに記録する.
1.まずnuget導入
Autofac
Autofac.Extensions.DependencyInjection
2.プログラムの修正cs追加.UseServiceProviderFactory(new AutofacServiceProviderFactory())
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .UseServiceProviderFactory(new AutofacServiceProviderFactory())
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup();
                });
    }

3.Startupを修正する.cs
サービスを追加AddControllersWithViews().AddControllersAsServices(); 
        public void ConfigureServices(IServiceCollection services)
        {
        services.AddControllersWithViews().AddControllersAsServices();
        }    

追加
        public void ConfigureContainer(ContainerBuilder builder)
        {
            //          
        }



完成したらコントローラに方法を注入できます.