DictionaryAdapter を使用して、asp.net Web サイトの appSettings セクションから設定を取得します。IoC 構成は、起動時に 1 回行われ、単一の Configuration.AppSettings オブジェクトを使用して、ゲッターを使用するすべての種類の異なるインターフェイスが登録されます。
var dictionaryAdapterFactory = new DictionaryAdapterFactory();
container.Register(
Types
.FromAssemblyNamed(assemblyName)
.Where(t => t.Name.EndsWith("AppSettings"))
.Configure(
component => component.UsingFactoryMethod(
(kernel, model, creationContext) =>
dictionaryAdapterFactory.GetAdapter(creationContext.RequestedType, ConfigurationManager.AppSettings))));
Web.config ファイルでホストされている appSettings セクションは正常に機能しますが、実行時に一部の設定を更新する場合に欠点があります。web.config ファイルなので、アプリ全体を再起動します。副作用として Web サイトを再起動することなく、実行時に構成を変更できるようにしたいと考えています。したがって、別のファイルに移動しました。
<appSettings configSource="AppSettings.config">
現在、ConfigurationManager.AppSettings["key"] を介して取得すると変更が反映されますが、DictionaryAdapter から動的インターフェイスを介してアクセスすると変更が反映されません。
ソースの変更を監視し、値をキャッシュしないように DA に指示する方法はありますか?