【发布时间】:2021-11-18 15:33:03
【问题描述】:
在控制台应用程序中,我尝试使用 Host.CreateDefaultBuilder() 进程,而不是手动构建 IConfiguration 和 IServiceProvider:
IHost host = Host.CreateDefaultBuilder()
.ConfigureServices((context, services) =>
{
services.AddSingleton<Whatever>();
})
.Build();
我可以在构建主机后获取配置对象。但我正在寻找一种在ConfigureServices 正文中获取配置对象的方法,以便我可以将配置部分绑定到服务提供者。
类似:
AccountConfiguration accountConfig = new();
config.Bind("AccountConfiguration", accountConfig);
services.AddSingleton(accountConfig);
// or
services.Configure<AccountConfiguration>(config.GetSection("AccountConfiguration"));
有没有办法在配置服务的同时访问配置对象?还是在构建主机后向服务集合添加对象的好方法?
【问题讨论】:
标签: c# dependency-injection console-application .net-5 .net-6.0