【IT168技术文档】
到目前为止,本章中所有的*.config文件都使用了多个公开、常用的XML元素。CLR能够读取这些元素来解析外部程序集的位置。除了这些元素之外,在客户端配置文件中,我们还能够增加基于具体应用程序的自定义信息。为此,.NET Framework提供了一个命名空间,这使得我们可以以编程方式读取配置文件的这些数据。
System.Configuration命名空间提供了一组类型供开发人员读取*.config的数据。自定义的配置信息必须放在<appSettings>元素里。<appSettings>元素可包含任意多个<add>元素(键/值对)供开发人员以编程方式获取。
例如,假定控制台应用程序AppConfigReaderApp拥有一个*.config文件,其中定义了一个数据库连接字符串和一个名为timesToSayHello的数据:
客户端应用程序只需要调用System.Configuration.AppSettingsReader类的实例方法GetValue(),就可以读取这些信息。在下面的代码中可以看到,GetValue()方法的第一个参数是要读取元素的键的名称,第二个参数则是要读取的元素的键的类型(使用C#的typeof操作获取):<configuration> <appSettings> <add key="appConStr" value="server=localhost;uid='sa';pwd='';database=Cars" /> <add key="timesToSayHello" value="8" /> </appSettings> </configuration>
class Program { static void Main(string[] args) { // 创建一个配置阅读器,获取连接字符串的值。 AppSettingsReader ar = new AppSettingsReader(); Console.WriteLine(ar.GetValue("appConStr", typeof(string))); // 现在我们获取到say hello的次数,开始吧! int numbOfTimes = (int)ar.GetValue("timesToSayHello", typeof(int)); for(int i = 0; i < numbOfTimes; i++) Console.WriteLine("Yo!"); Console.ReadLine(); } }