我有一些值需要设置,并且希望应用程序能够从某种文件中加载它们。
我能想到的唯一概念是简单的 txt 文件,可能会包含以下几行:
DatabaseName = "DB1/test"
DatabasePassword = "password"
Development = "true"
我认为这些应该写在某种配置文件中,而读取文本文件并不是一个整洁的代码。如果我能够通过在我的应用程序中说出来获取数据库名称就更好了:
configfile.DatabaseName
感谢您,保罗。
我有一些值需要设置,并且希望应用程序能够从某种文件中加载它们。
我能想到的唯一概念是简单的 txt 文件,可能会包含以下几行:
DatabaseName = "DB1/test"
DatabasePassword = "password"
Development = "true"
我认为这些应该写在某种配置文件中,而读取文本文件并不是一个整洁的代码。如果我能够通过在我的应用程序中说出来获取数据库名称就更好了:
configfile.DatabaseName
您真的应该使用内置的应用程序设置。
您可以直接使用ConfigurationManager访问简单的设置。
ConfigurationManager.AppSettings["MySetting"] = "SomeStuff";
var mySetting = ConfigurationManager.AppSettings["MySetting"];
同时,您还可以使用ConfigurationManager直接访问连接字符串。
var conn = ConfigurationManager.ConnectionStrings["DevSqlServer"];
所有这些都存储在XML文件中,默认情况下是您的*.config文件。
回答Doomsknight在评论中的问题
配置设置可以通过多种方式完成,但默认情况下,它们存储在两个位置。
应用程序级别设置 存储在一个配置文件中。
对于可执行程序,此文件位于与 .exe 相同的目录中,并以程序集或可执行文件的名称命名。
例如:MyAssembly.config
,Another.Assembly.config
对于 Web 应用程序,这些设置存储在 web.config 文件中 (通常),该文件位于 Web 应用程序的根目录中。这些应用程序是分层的,每个 Web 应用程序的目录级别都可以有一个。
例如:MySite\web.config
,MySite\SubDirectory\web.config
用户作用域设置 存储在用户配置文件夹中
例如: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>
sqlComm.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["MyWebService.Properties.Settings.dbConnString"].ConnectionString;
- IAmGroot.NET内置了一个配置平台。只需在您的项目中添加一个app.config文件,并使用ConfigurationManager库访问值即可。