常见配置文件模式:
<configuration>
<configSections> //配置节声明区域,包含配置节和命名空间声明
<section> //配置节声明
<sectionGroup> //定义配置节组
<section> //配置节组中的配置节声明
<appSettings> //预定义配置节
<Custom element for configuration section> //配置节设置区域
举例来说明
以下是一个简单的自定义配置节
<configuration>
<configSections>
<section name="mySection" type="System.Configuration.NameValueSectionHandler"/>
<section name="test" type="System.Configuration.NameValueSectionHandler"/>
</configSections>
<mySection>
<add key="key_one" value="1"/>
<add key="key_two" value="2"/>
</mySection>
<test seting1="hello" seting2="world"/>
</configuration>
在cs代码象以下一样调用
NameValueCollection val1 = (NameValueCollection)ConfigurationSettings.GetConfig("mySection");
Response.Write("The value of key_one is " + val1["key_one"] + "<br/>");
Response.Write("The value of key_two is " + val1["key_two"] + "<br/>");
Response.Write(Response.Write(abv.AllKeys[0].ToString() + abv["key_two"]);
这样就完成一个自定义配置的建设和使用,还算简单吧
(注意在程序执行前,请将system.dll文件copy到应用程序的bin目录下,否则应用程序会创建错误,具体原因:个人认为是webconfig中使用了system类,而webconfig中应用到的所有类或者程序集都必须指明来源,默认是到bin目录下寻找。)。
下面说一下配置节组
配置节组是使用<sectionGroup>元素,将类似的配置节分到同一个组中。配置节组声明部分将创建配置节的包含元素,在<configSections>元素中声明配置节组,并将属于该组的节置于<sectionGroup>元素中。下面是一个包含配置节组的配置文件的例子:
<configuration>
<configSections>
<sectionGroup name="TestGroup1">
<section name="Test1" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<TestGroup>
<Test>
<add key="Hello" value="World"/>
</Test>
</TestGroup>
</configuration>
下面是访问这个配置节组的代码:
NameValueCollection myvalue=(NameValueCollection)ConfigurationSettings.GetConfig("TestGroup/Test");
MessageBox.Show(myvalue.AllKeys[0].ToString()+""+myvalue["Hello"]); //输出HelloWorld