我知道,我可以使用Configuration对象创建文件:
// Config.PrepareYAMLStorage;
// Config.PrepareBSONStorage;
// Config.PrepareJSONStorage;
Config.PrepareXMLStorage;
这些文件是在对象被销毁时自动创建的。我想只将该类用作内存,这样我就可以在数据库上持久化Config.Storage的内容。
有没有一个类似于Storage.asString的Storage变体,或者我如何创建一个替代现有Storage的变体,它可以做到这一点?
1条答案
按热度按时间vdgimpew1#
有几种方法。
“预期”方式是为配置对象创建您自己的存储方法。
如果希望数据为JSON,可以从TkbmMWJSONConfigurationStorage继承,并添加两个方法来提供包含JSON数据的字符串。
例如:
然后
请注意,这仍然会将配置保存到文件或从文件加载配置。如果您想防止这种情况,请覆盖Save和Load方法,使它们不执行任何操作。但它确实为您提供了一种以字符串形式访问JSON存储的方法。不过,它也防止您随意切换存储。因为通常不容易从字符串设置或读取完整的基于注册表的存储。
既然你希望你的存储在一个数据库中,另一种方法是创建一个特殊的存储,它能够将每一个设置存储到一个数据库中,并从数据库中检索它。这将是一种“最纯粹”的数据库驱动的配置存储方法。
但是,您必须在自己的TkbmMWCustomConfigurationStorage子代中覆盖这些方法:
而且很可能
/金/C4D