どうぞ。
namespace dm2
{
using System.Collections.Specialized;
using System.Configuration;
public class SomeApiClient
{
internal static NameValueCollection Config
{
get
{
if (config == null) config = ConfigurationManager.AppSettings;
return config;
}
}
internal static NameValueCollection config;
}
}
基本的には、非静的クラスで静的プロパティを使用するだけです...したがって、構成設定を取得するには、
public void DoFunConfigStuff()
{
for (var i = 0; i < Config.Count;i++ )
{
Console.WriteLine("[{0}]: {1}",Config.Keys[i] ,Config[i]);
}
}
web.configについておっしゃっていたので、これはWebアプリだと思います。したがって、アプリプールはいつでもリサイクルできることを期待する必要があります。その時点で、静的ゲッターが新しい設定を再評価してロードします。これについては返信しないのが最善です。
あなたができることの1つは、この情報をディスクやデータベースなどのメディアにシリアル化してから、ある種のdbスイッチ、または強制的にリロードするWebページを用意することです。
したがって、そのゲッターでは、シリアル化されたデータをチェックし、存在しない場合はweb.configをチェックして、そのデータをどこかに保存します。次回リサイクルされると、古いデータが取得されます。本当にあなたのセットアップに依存すると思います。