.net core 3.0 MVC学习-autofac

1.引入:Autofac.Extensions.DependencyInjection

2.在Program里面

public class Program
    {
        public static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

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

3.在Startup里面新增

services.AddControllersWithViews().AddControllersAsServices();
public void ConfigureContainer(ContainerBuilder builder)
        {
            //注册controller里面的service
            var controllerBaseType = typeof(Microsoft.AspNetCore.Mvc.ControllerBase);
            builder.RegisterAssemblyTypes(typeof(Program).Assembly)
                .Where(t => controllerBaseType.IsAssignableFrom(t) && t != controllerBaseType)
                .InstancePerLifetimeScope().PropertiesAutowired();

            // 在这里添加服务注册

        }

大功告成

posted @ 2019-11-08 19:32  12554找茬  阅读(296)  评论(0编辑  收藏  举报