资源介绍
配置文件概述:
应用程序配置文件是标准的XML 文件 XML 标记和属性是区分大小写的 它是可以
按需要更改的 开发人员可以使用配置文件来更改设置 而不必重编译应用程序 配置
文件的根节点是configuration 我们经常访问的是appSettings 它是由 Net 预定义配置
节 我们经常使用的配置文件的架构是象下面的形式 先大概有个印象 通过后面的实
例会有一个比较清楚的认识 下面的“配置节”可以理解为进行配置一个XML 的节点
常见配置文件模式:
<configuration>
<configSections> 配置节声明区域 包含配置节和命名空间声明
<section> 配置节声明
<sectionGroup> 定义配置节组
<section> 配置节组中的配置节声明
<appSettings> 预定义配置节
<Custom element for configuration section> 配置节设置区域
2 只有appSettings 节的配置文件及访问方法
下面是一个最常见的应用程序配置文件的例子 只有appSettings 节
< xml version "1 0" encoding "utf 8" >
<configuration>
<appSettings>
<add key "connectionstring" value "User ID sa;Data Source ;Password ;Initial C
atalog test;Provider SQLOLEDB 1;" >
<add key "TemplatePATH" value "Template" >
< appSettings>
< configuration>
下面来看看这样的配置文件如何方法
string connectionString ConfigurationSettings AppSettings["connectionstring"];
使用ConfigurationSettings 类的静态属性AppSettings 就可以直接方法配置文件中的配置
信息 这个属性的类型是NameValueCollection
3 自定义配置文件
3 1 自定义配置节
一个用户自定义的配置节 在配置文件中分为两部分:一是在<configSections>< confi
gSections>配置节中声明配置节(上面配置文件模式中的“<section>”) 另外是在<confi
gSections>< configSections >之后设置配置节(上面配置文件模式中的“<Custom eleme
nt for configuration section>”) 有点类似一个变量先声明 后使用一样 声明一个配
置文件的语句如下:
<section name " " type " " >
<section>:声明新配置节 即可创建新配置节 P>
name:自定义配置节的名称
type:自定义配置节的类型 主要包括System Configuration SingleTagSectionHandler S
ystem Configuration DictionarySectionHandler System Configuration NameValueSectionHa
ndler
不同的type 不但设置配置节的方式不一样 最后访问配置文件的操作上也有差异 下面
我们就举一个配置文件的例子 让它包含这三个不同的type
< xml version "1 0" encoding "utf 8" >
<configuration>
<configSections>
<section name "Test1" type "System Configuration SingleTagSectionHandler" >
<section name "Test2" type "System Configuration DictionarySectionHandler" >
<section name "Test3" type "System Configuration NameValueSectionHandler" >
< configSections>
<Test1 setting1 "Hello" setting2 "World" >
<Test2>
<add key "Hello" value "World" >
< Test2>
<Test3>
<add key "Hello" value "World" >
< Test3>
< configuration>
我们对上面的自定义配置节进行说明 在声明部分使用<section name "Test1" type "Sy
stem Configuration SingleTagSectionHandler" >声明了一个配置节它的名字叫Test1 类型
为SingleTagSectionHandler 在设置配置节部分使用<Test1 setting1 "Hello" setting2
"World" >设置了一个配置节 它的第一个设置的值是Hello 第二个值是World 当然
还可以有更多 其它的两个配置节和这个类似
下面我们看在程序中如何访问这些自定义的配置节 我们用过ConfigurationSettings 类
的静态方法GetConfig 来获取自定义配置节的信息
public static object GetConfig string sectionName ;
下面是访问这三个配置节的代码:
访问配置节Test1
IDictionary IDTest1 IDictionary ConfigurationSettings GetConfig "Test1" ;
string str string IDTest1["setting1"] +" "+ string IDTest1["setting2"];
MessageBox Show str ; 输出Hello World
访问配置节Test1 的方法2
string[] values1 new string[IDTest1 Count];
IDTest1 Values CopyTo values1 0 ;
MessageBox Show values1[0]+" "+values1[1] ; 输出Hello World
访问配置节Test2
IDictionary IDTest2 IDictionary ConfigurationSettings GetConfig "Test2" ;
string[] keys new string[IDTest2 Keys Count];
string[] values new string[IDTest2 Keys Count];
IDTest2 Keys CopyTo keys 0 ;
IDTest2 Values CopyTo values 0 ;
MessageBox Show keys[0]+" "+values[0] ;
访问配置节Test3
NameValueCollection nc NameValueCollection ConfigurationSettings GetConfig
"Test3" ;
MessageBox Show nc AllKeys[0] ToString +" "+nc["Hello"] ; 输出Hello Wor
ld
通过上面的代码我们可以看出 不同的type 通过GetConfig 返回的类型不同 具体获得
配置内容的方式也不一样 配置节处理程序
返回类型
SingleTagSectionHandler
Systems Collections IDictionary
DictionarySectionHandler
Systems Collections IDictionary
NameValueSectionHandler
Systems Collections Specialized NameValueCollection
3 2 自定义配置节组
配置节组是使用<sectionGroup>元素 将类似的配置节分到同一个组中 配置节组声明
部分将创建配置节的包含元素 在<configSections>元素中声明配置节组 并将属于该组
的节置于<sectionGroup>元素中 下面是一个包含配置节组的配置文件的例子:
< xml version "1 0" encoding "utf 8" >
<configuration>
<configSections>
<sectionGroup name "TestGroup">
<section name "Test" type "System Configuration NameValueSectionHandler" >
< sectionGroup>
< configSections>
<TestGroup>
<Test>
<add key "Hello" value "World" >
< Test>
< TestGroup>
< configuration>
下面是访问这个配置节组的代码:
NameValueCollection nc NameValueCollection ConfigurationSettings GetConfig
"TestGroup Test" ;
MessageBox Show nc AllKeys[0] ToString +" "+nc["Hello"] ; 输出Hello Wor
ld">配置文件概述:
应用程序配置文件是标准的XML 文件 XML 标记和属性是区分大小写的 它是可以
按需要更改的 开发人员可以使用配置文件来更改设置 而不必重编译应用程序 配置
文件的根节点是configuration 我们经常访问的 [更多]