You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET 8 Worker Service的HostApplicationBuilder中配置Autofac?

在.NET 8 Worker Service中使用HostApplicationBuilder配置Autofac

步骤1:安装必要的NuGet包

确保项目已安装Autofac.Extensions.DependencyInjection包,可通过NuGet包管理器或命令行安装:

Install-Package Autofac.Extensions.DependencyInjection

步骤2:配置Autofac服务提供程序

HostApplicationBuilder的Host属性本质是IHostBuilder,因此可以直接复用Autofac基于IHostBuilder的扩展方法,和ASP.NET 8项目的配置模式一致:

var builder = Host.CreateApplicationBuilder(args);

// 配置Autofac作为服务提供工厂并注册模块
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory())
           .ConfigureContainer<ContainerBuilder>(containerBuilder =>
           {
               // 注册自定义Autofac模块或直接注册服务
               containerBuilder.RegisterModule(new AutofacBuilder(settings));
           });

// 添加Worker服务
builder.Services.AddHostedService<Worker>();

var host = builder.Build();
await host.RunAsync();

说明

HostApplicationBuilder的Host属性继承了IHostBuilder的全部扩展能力,因此Autofac的相关配置逻辑可以无缝迁移过来,和你在ASP.NET 8项目中使用WebApplicationBuilder.Host的方式完全匹配。

内容的提问来源于stack exchange,提问作者Mindbane

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 23:53:11