是否可以从启动时的 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?
}