应用程序配置文件

2006年3月8日 1点热度 0条评论 来源: newgrammer

应用程序要在一台计算机上运行,可能需要进行一些配置。
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();
         }

    原文作者:newgrammer
    原文地址: https://blog.csdn.net/newgrammer/article/details/618422
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。