技不如人

Welcome to Rickel's blog.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何在web.config 或者 app.config 文件中配置自定义节点

Posted on 2005-04-22 16:30  Rickel  阅读(3529)  评论(1编辑  收藏  举报

由于在每个系统中都会带有这两个配置文件中的一个,所以把一些需要的配置信息放在这里里面是非常有效的,既不需要产生新的自定义配置文件,又能达到效果。

实现方式:

       C# Configuration类来读取config中的节点,但是只提供直接读取AppSetting的方法(这个是特殊方法),其它的节点只能通过GetConfig()来获取,具体方式如下:

1、  配置App.config文件

  <configSections>

      <sectionGroup name="sectionGroup1">

            <section name="Section1" type="System.Configuration.NameValueSectionHandler"/>

      </sectionGroup>

   </configSections>

这一部分主要是来定义即将使用的Section 节点名称,sectiontype包括以下2种:

a.      DictionarySectionHandler

b.      NameValueSectionHandler

c.       指定type的作用是指定从配置文件中读取节的配置节处理程序类的名称。

Sectiongroup 定义一个配置节的命名空间,section元素则是配置节声明。

2、  添加如下的自定义节点:

<sectionGroup1>

 

<Section1>

        <add key="param1" value = "7"/>

</Section1> 

  </sectionGroup1>

 

3、  读取方式:

NameValueCollection config = (NameValueCollection)ConfigurationSettings.GetConfig("sectionGroup1/Section1");
return config[param1];

       该函数必须包含于System.Configuration 名称空间下。

4、  注意事项:

a.      appSettings节点必须放在自定义节点后,这个具体原因还不知道。

b.      sectiongroup可以相互嵌套,但必须保证唯一性