私が取り組んでいる Web アプリケーションに、クライアント設定を保持するクラスがあります。背景によっては、私はこのクラスを所有しておらず、変更することはできません。最近、設定をデータベースに保存するためのロジックを追加したので、設定を編集するためのページを作成する必要がありました。
これが私の問題です。設定は静的クラスに保持され、それ自体が静的な読み取り専用プロパティです。例えば
public static class Settings
{
public static readonly setting1 = SettingmanagerClass.GetSetting("setting1");
public static readonly setting2 = SettingmanagerClass.GetSetting("setting2");
public static readonly setting3 = SettingmanagerClass.GetSetting("setting3");
}
たとえば、私が書いたページで、setting2 の値を「Happy Variable」に変更します。DB に問題なく保存されますが、新しい値として Web アプリに反映する必要があります。これは静的クラスの静的読み取り専用プロパティであるため、アプリが最初に接続されたときにのみ呼び出され、手動で設定することはできません。
繰り返しますが、私は元のクラスを所有していないため、「プロパティを書き込み可能にするだけ」は (現在) 有効なオプションではありません。通常、私は上司とこれについて話し合うだけで、彼は判断を下し、場合によっては他のクラスを変更することを許可しますが、私はその決定を下す立場になく、彼は 1 週間不在です。
だから基本的に; Web アプリケーションの実行が開始されたら、静的クラスを再初期化する方法はありますか? アプリが再構築されて再起動されたかのように、すべてのプロパティを再読み込みする必要があります。