我正在查看一些使用 .NET System.Configuration.SettingsProvider 和 ApplicationSettingsBase 来处理配置的代码。
我们有一个派生自 SettingsProvider 的类,它使用数据库作为数据存储,然后我们有其他从 ApplicationSettingsBase 继承的设置类,并具有 [SettingsProvider(typeof(MySettingsProvider))] 属性。
问题是我们在多个应用程序中使用这些设置类,但它们似乎在第一次加载时永久缓存配置值。问题是,如果在一个应用程序中更改了设置,其他应用程序将在下次重新启动之前无法获得该设置,因为它们被缓存在任何地方。
我的问题是:有没有办法强制 SettingsProvider 实现或派生自 ApplicationSettingsBase 的类不缓存值,并在每次访问设置时重新查询数据存储?一个有效的答案可能是这些类不打算在多应用程序环境中使用......