Long time no write articles, most recently with .net core3.0, a number of development issues in the way records;
1. First introduced nuget
Autofac
Autofac.Extensions.DependencyInjection
2. Modify the Program.cs add .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<Startup>(); }); }
3. Modify Startup.cs
添加 services.AddControllersWithViews().AddControllersAsServices();
public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews().AddControllersAsServices(); }
Add to
void ConfigureContainer public (ContainerBuilder Builder) { // here add service registration }
You can now complete the implantation method in the controller.