我正在处理的 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 应用程序开始运行,有没有办法重新初始化静态类?我只需要它重新加载其所有属性,就好像该应用程序刚刚重建并重新启动一样。