【发布时间】:2020-10-05 02:37:19
【问题描述】:
我想使用 autofac 注入而不是默认的 .net 核心解决方案。
这是我的启动文件:
public IServiceProvider ConfigureServices(IServiceCollection 服务)
{
services.AddMvc(option => option.EnableEndpointRouting = false) ;
var cb = new ContainerBuilder();
cb.RegisterModule();
cb.填充(服务);
var 容器 = cb.Build();
返回新的 AutofacServiceProvider(容器);
}
// 这个方法被运行时调用。使用此方法配置 HTTP 请求管道。
公共无效配置(IApplicationBuilder 应用程序,IWebHostEnvironment env)
{
app.UseDeveloperExceptionPage();
app.UseStatusCodePages();
app.UseStaticFiles();
app.UseMvc(routes=>routes.MapRoute("default","/{controller=home}/{action=index}"));
}
这是我的 program.cs
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
公共静态 IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup();
}).UseServiceProviderFactory(new AutofacServiceProviderFactory());
但是当我运行我的应用程序时,我的 main 方法中出现了这个错误:
System.NotSupportedException: 'ConfigureServices returning an System.IServiceProvider isn't supported.'
【问题讨论】:
标签: asp.net-core .net-core dependency-injection autofac