【发布时间】:2013-06-08 20:04:17
【问题描述】:
我们有一个现有的控制台应用程序,它当前使用基于文件的 AppSettings。
所以我的 app.config 指向我的实际 appsettings 文件:
<appSettings configSource="Configs\StaticAppSettings.config"/>
在整个代码中,我们访问的是这样的配置:
var value = ConfigurationManager.AppSettings["SomeKeyName"];
展望未来,我们希望 appSettings 位于数据库中。因此,如果我们希望保持相同的代码库并仅修改初始化 appsettings 的方式,那将是正确的方法吗?
我们计划做这样的事情来初始化 appSettings :
ConfigurationManager.AppSettings["SomeKeyName"] = "SomeValue";
ConfigurationManager.AppSettings["SomeKeyName2"] = "SomeValue2";
基本上只是创建与当前文件具有相同键名的键,但键和值来自数据库而不是文件。
这样我们的代码库仍然保持不变,所有的 appSettings 现在都是从数据库而不是文件初始化的。
这是一种正确的方法还是存在一些警告/问题,或者是否有另一种更好的方法可以从数据库中读取而无需更改任何地方的代码?
【问题讨论】:
标签: initialization appsettings