应用程序配置文件

应用程序要在一台计算机上运行,可能需要进行一些配置。 CLR 的配置文件是 XML 文件。应用程序可以在不进行重新编译的情况下使用配置文件。这些配置文件是用 XML 编写的,元素本身的自描述性优于传统的基于文本的配置文件。 .NET 支持多种配置文件:机器级别、应用程序级别、直接与安全性相关等。其中最常用的就是应用程序级别的配置文件。这篇文章简要叙述应用程序配置文件的使用方法。
 
应用程序配置文件的文件名是可知性文件的文件名加 .config 。如果应用程序名为 App.exe ,那么其配置文件应该为 App.exe.config 文件。应该放在 /bin 文件夹下。
 
在应用程序配置文件里面最有用处的,也是最常用的部分其实是自定义配置部分。配置文件架构允许在配置文件中存在用户自定义的段落,可以在这些自定义的段落中安排配置数据。 .NET 框架类库提供一个供应用程序使用的通用配置处理器,包括两个类: System.Consiguration.SingleTagSectionHandler System.Configuration.NameValueSectionHandler
 
用一个实例来说明问题是最好的办法。首先,建立一个控制台项目名为 ReadCustomData
然后,在解决方案管理器里,右击项目,添加,添加新项,选择应用程序配置文件。命名为: ReadCustomData.exe.config 。文件内容如下:
 
<? xml version ="1.0" encoding ="utf-8" ?>
< configuration >
     <configSections>
         <sectionname="customSection"
              type ="System.Configuration.SingleTagSectionHandler" />
     </configSections>
     <customSectionsetting1="one"
                       setting2 ="two"
                       setting3 ="three" />
</ configuration >
 
然后再 Main 函数里写下如下程序:
 
static void Main (string[] args)
         {
              //
              // TODO: 在此处添加代码以启动应用程序
              //
              //从配置文件或的数据
              IDictionary sampleTable = (IDictionary)
                   ConfigurationSettings.GetConfig("customSection");
              Console.WriteLine(sampleTable["setting1"].ToString());
              Console.WriteLine(sampleTable["setting2"].ToString());
              Console.WriteLine(sampleTable["setting3"].ToString());
 
              Console.ReadLine();
         }
执行结果:
one
two
three
 
注意:一定要把配置文件放置在/bin/debug目录下。
 
还有另外一个选项解析类System.Configuration.NameValueSectionHandler。要在配置文件里使用这个,配置文件和程序就应当这样写:
 
<? xml version ="1.0" encoding ="utf-8" ?>
< configuration >
     <configSections>
         <sectionname="customNamedSection"
              type ="System.Configuration.NameValueSectionHandler" />
     </configSections>
     <customNamedSection>
         <addkey="setting1"value="one"/>
         <addkey="setting2"value="two"/>
         <addkey="setting3"value="three"/>
     </customNamedSection>
</ configuration >
 
程序:
static void Main (string[] args)
         {
              //
              // TODO: 在此处添加代码以启动应用程序
              //
              //从配置文件得到数据
              NameValueCollection sampleTable = (NameValueCollection)
                   ConfigurationSettings.GetConfig("customNamedSection");
              Console.WriteLine(sampleTable["setting1"]);
              Console.WriteLine(sampleTable["setting2"]);
              Console.WriteLine(sampleTable["setting3"]);
             
              Console.ReadLine();
         }

你可能感兴趣的:(.net,xml,框架,String,encoding)