我有一些我希望能够设置的值,以及从某种文件中加载它们的应用程序。

我能想到的唯一概念是一个简单的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.configAnother.Assembly.config

对于Web应用程序,设置存储在Web应用程序根目录中的web.config文件中(通常)。这些是分层应用的,可以位于Web应用程序的每个目录级别。

示例:MySite\web.configMySite\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>


可以直接在配置文件中轻松修改这些设置,但是无需编写一些代码来自动刷新配置文件的各个部分(可能的话),通常需要重新启动应用程序。

我希望这会有所帮助。

10-07 19:10
查看更多