ConfigurationProvider
エンティティフレームワークを使用してカスタムを作成しました。実行時にも更新可能にしたいので、を作成しましたIWritableableOption
。
更新後に構成を更新する必要があります。これは、を介して実行できますIConfigurationRoot.Reload
。
ただし、どうすればIConfigurationRoot
.net Core 2を入手できますか?
私が見つけたのは、以前のバージョンでIConfigurationRoot
はスタートアップの一部だったということです。ただし、.net Core 2には、より単純なタイプしかありませんIConfiguration
。
public Startup(IConfiguration configuration)
{
// I tried to change this to IConfigurationRoot,
// but this results in an unresolved dependency error
Configuration = configuration;
}
public IConfiguration Configuration { get; }
私も見つけました、私は使用して自分のインスタンスを取得することができます
WebHost.CreateDefaultBuilder(args).ConfigureAppConfiguration(context, builder) => {
var configurationRoot = builder.build()
})
しかし、スタートアップで使用される構成を更新したいと思います。
では、どうすればそれをサービスコレクションに注入するためにIConfigurationRoot
使用できるのStartup
でしょうか。
Dealdianeのコメントに感謝します。
ダウンキャストできますIConfiguration
:
public Startup(IConfiguration configuration)
{
Configuration = (IConfigurationRoot)configuration;
}
public IConfigurationRoot Configuration { get; }
これが意図された方法であるかどうかはまだわかりIConfiguration
ませんIConfigurationRoot
。なぜなら、についての保証はないからです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加