私はスタートアップクラスでJSONファイルから設定を読み込むプロジェクト持ちで設定を上書きする方法:私は、データベースから新しい値でこれを上書きしたいMVCコア
services.Configure<ApplicationConfiguration>(
Configuration.GetSection("ApplicationConfiguration"));
を。
public MyClass(IOptions<ApplicationConfiguration> applicationConfiguration,)
{
applicationConfiguration = new DbApplicationConfiguration();
}
DbApplicationConfigurationクラス:
public class DbApplicationConfiguration : IOptions<ApplicationConfiguration>
{
public ApplicationConfiguration Value
{
get
{
var configuration = new ApplicationConfiguration();
configuration.Host = "myHost";
// ...
return configuration;
}
}
}
この作業が、唯一のMyClass内れます。 コンテナ内の設定を上書きしたい。 私がIOptions<ApplicationConfiguration>
を注入するたびに、私は新しい上書きされた値を取得します。
設定ページで設定を更新する必要があります。 IOptionが挿入されているすべてのクラスでインターフェイスを変更しないようにしたいと考えています。
これは可能ですか?
DBからデータを読み込んで返すカスタムの「ConfigurationProvider」を書いてください。あるいは、 'Startup.cs'で明示的に値を上書きしてください。 https://docs.asp.net/en/latest/fundamentals/configuration.html#example-entity-framework-settingsをご覧ください。 – haim770