我对.Net v2的.Net配置的.Net配置的各种配置选项感到困惑 - 特别是在考虑配置文件在UI /端的影响时链的用户端。帮助了解.Net配置选项
因此,例如,一些应用程序的我,使我们与访问使用设置工作:
string blah = AppLib.Properties.Settings.Default.TemplatePath;
现在,这个选择似乎冷静,因为成员是stongly类型的,我不能键入Visual Studio 2005 IDE中不存在的属性名称。我们最终在一个命令行可执行项目的App.Config中这样的台词:
<connectionStrings>
<add name="AppConnectionString" connectionString="XXXX" />
<add name="AppLib.Properties.Settings.AppConnectionString" connectionString="XXXX" />
</connectionStrings>
(如果我们没有第二个设定,有人释放一个DLL调试到直播盒可能已经建立其中嵌入调试连接字符串 - 克朗)
我们也有这样的访问设置:
string blah = System.Configuration.ConfigurationManager.AppSettings["TemplatePath_PDF"];
现在,这些似乎很酷,因为我们可以从DLL的代码访问该设置,或EXE/aspx代码,以及我们在Web或App.config中需要的全部内容是:
<appSettings>
<add key="TemplatePath_PDF" value="xxx"/>
</appSettings>
但是,当然值可能不会在配置文件中设置,或者字符串名称可能错误输入,所以我们有一组不同的问题。
因此......如果我的理解是正确的,前面的方法给出了强大的输入,但dll和其他项目之间的值分享不好。后者提供更好的共享,但打字更弱。
我觉得我必须错过一些东西。目前,我甚至不关心应用程序能够将值写回配置文件,加密或类似的东西。另外,我决定存储任何非连接字符串的最佳方式是在数据库中......然后,我必须做的下一件事是在数据库连接问题的情况下将电话号码存储到文本人员,所以他们必须存储在数据库之外!
@rob_g迟来的感谢和'接受的答案'为您的评论在这里。我最终创建了一个设置数据库表,每行一行。我认为我没有达到'完美的解决方案',但比以前好很多。 – Nij 2010-03-05 21:19:15