是否可以从启动时的 ConfigureServices
方法解析 IOptions<AppSettings>
的实例? 文档明确地说:
不要在
Startup.ConfigureServices.
中使用IOptions<TOptions>
或IOptionsMonitor<TOptions>
由于服务注册的顺序,可能存在不一致的选项状态。
您可以使用 serviceCollection.BuildServiceProvider()
手动创建服务提供程序,但这会导致警告:
从应用程序代码调用“ BuildServiceProvider”将导致创建单例服务的另一个副本。考虑一些替代方案,比如将依赖注入服务作为“配置”的参数。
我怎么才能做到呢?
public void ConfigureServices(IServiceCollection services)
{
services.Configure<AppSettings>(
configuration.GetConfigurationSection(nameof(AppSettings)));
// How can I resolve IOptions<AppSettings> here?
}