在web.config中嵌套配置元素

时间:2010-02-26 20:43:22

标签: c# .net asp.net

我正在学习如何在.NET中使用System.Configuration,并想知道是否有办法在我的web.config文件中无限地嵌套配置设置。

假设我有两种类型的对象 - 一个Page和一个PageGroup。 Page表示我网站上的真实页面,PageGroup表示Pages和(可能)其他PageGroups的集合。

我的web.config文件可能包含以下内容:

<pagegroup name="outer_group">
    <page name="page1" url="page1.htm" />
    <page name="page2" url="page2.htm" />
    <pagegroup name="middle_group">
        <page name="page3" url="page3.htm" />
        <pagegroup name="inner_group">
            ...and so on...
        </pagegroup>
    </pagegroup>
</pagegroup>

我对配置类的有限理解使我相信这不是他们的设计目标 - 但我希望我错了。

是否可以这种方式使用ConfigurationElementCollections和ConfigurationElements(或任何其他适用的ConfigurationClasses)?

1 个答案:

答案 0 :(得分:4)

你基本上有两种不同类型的物品需要处理:

  • ConfigurationSectionGroup是其他元素的容器,最明显的是配置节(或其他配置节组)。节组本身没有任何配置属性或属性 - 它只是配置节的容器

  • ConfigurationSection是可以包含要存储的实际配置设置的属性,元素,集合等的项目

据我所知,您可以根据需要嵌套配置节组,但不能在配置节中嵌套任何内容。

有关精彩的介绍和大量背景信息,请查看Jon Rista关于CodeProject上.NET 2.0配置的三部分系列文章。

强烈推荐,写得很好,非常有帮助!