我有一些我希望能够设置的值,以及从某种文件中加载它们的应用程序。
我能想到的唯一概念是一个简单的txt文件,其中可能包含以下几行:
DatabaseName = "DB1/test"
DatabasePassword = "password"
Development = "true"
但我认为它应该在某种配置文件中?加上读取这些值的txt文件并不是完全整洁的代码。如果我可以在应用程序中说出数据库名称,那就太好了:
configfile.DatabaseName
谢谢,
保罗
最佳答案
您确实应该使用内置的Application Settings
您可以使用ConfigurationManager直接访问简单设置
ConfigurationManager.AppSettings["MySetting"] = "SomeStuff";
var mySetting = ConfigurationManager.AppSettings["MySetting"];
也可以使用ConfigurationManager直接访问您的连接字符串
var conn = ConfigurationManager.ConnectionStrings["DevSqlServer"];
所有这些都存储在XML文件中,默认情况下存储在* .config文件中。
从评论中回答末日骑士的问题
配置设置可以通过多种方式完成,但是默认情况下,它们存储在两个位置。
应用程序级别设置存储在配置文件中。
对于可执行程序,此文件与.exe位于同一目录中,并以程序集或可执行文件的名称命名。
示例:
MyAssembly.config
,Another.Assembly.config
对于Web应用程序,设置存储在Web应用程序根目录中的web.config文件中(通常)。这些是分层应用的,可以位于Web应用程序的每个目录级别。
示例:
MySite\web.config
,MySite\SubDirectory\web.config
用户范围设置为stored in the user profile
示例:
C:\Documents and Settings\USERNAME\Local Settings\Application Data\ApplicationName
连接字符串存储在配置文件的
<connectionStrings></connectionStrings>
部分中。<connectionStrings>
<clear />
<add name="Name"
providerName="System.Data.ProviderName"
connectionString="Valid Connection String;" />
</connectionStrings>
可以直接在配置文件中轻松修改这些设置,但是无需编写一些代码来自动刷新配置文件的各个部分(可能的话),通常需要重新启动应用程序。
我希望这会有所帮助。