2つのプロジェクト(.NET Core Web APIと.NET Core WindowsService)では、構成にappsettings.jsonを使用しています。
var configuration = new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
どちらの場合も、reloadOnChangeをtrueに設定し、依存関係注入によって注入されたIOptions
として使用しています。 Web API内からコントローラークラスに、サービス内から設定を使用するクラスに。
残念ながら、appsettings.jsonを変更しても値は変更されません。
Web APIでは、構成から文字列値を返すだけのコントローラーを作成しましたが、これは起動時と同じままです。
だから私の質問:
.net-core 1.1を使用している場合(reloadOnChange
はASP.NET Core 1.1以降でのみサポートされているため)、実際に必要なのはIOptionsSnapshot
です(cf. ASPでの構成。 NET Core-IOptions
ではなく、IOptionsSnapshot )。