我正在开发的web应用程序中有一个保存客户端设置的类。需要说明的是,我不拥有这个类,也不能对它进行更改。最近我们添加了一些逻辑来将这些设置存储在数据库中,并且我被指派创建一个页面来编辑它们,这很公平。
然而,这里出现了一个问题:这些设置保存在一个静态类中,并且它们本身是静态、只读属性。例如:
现在,举个例子,通过我编写的页面,我们将setting2的值更改为“Happy Variable”;它可以很好地保存到数据库中,但现在我需要在Web应用程序中反映出新值。由于它是静态类的静态只读属性,因此仅在应用程序首次连接时调用,无法手动设置。
再次强调,我不拥有原始类,因此“只需使属性可写”目前不是有效选项。通常,我会与我的老板商量,他会做出判断并可能允许我修改其他类,但我没有权利做出这个决定,而他这周不在办公室。
因此,基本上;是否有任何方法可以在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”;它可以很好地保存到数据库中,但现在我需要在Web应用程序中反映出新值。由于它是静态类的静态只读属性,因此仅在应用程序首次连接时调用,无法手动设置。
再次强调,我不拥有原始类,因此“只需使属性可写”目前不是有效选项。通常,我会与我的老板商量,他会做出判断并可能允许我修改其他类,但我没有权利做出这个决定,而他这周不在办公室。
因此,基本上;是否有任何方法可以在Web应用程序开始运行后重新初始化静态类?我只需要它重新加载所有属性,就像应用程序刚刚重建并启动一样。
static readonly
成员。要小心,我已经看到并仍然看到许多比我的编程生涯更老的“临时修补程序”。 - Adam Houldsworth