如何创建自定义 Web 配置?

How to create custom web config?

我需要在 web.config 文件中创建一个配置部分。配置部分如下所示。

<component name="name1" title="title1" description="description1"/>
<component name="name2" title="title2" description="description2"/>
<component name="name3" title="title3" description="description3"/>

如何创建这样的配置设置以及如何在 C# 代码中访问配置中的属性。

1) 创建一个class并继承自ConfigurationSection

public class ComponentCustomSection : ConfigurationSection

2) 添加属性并使用 ConfigurationProperty 属性标记它们

        [ConfigurationProperty("name")]
        public string Name
        {
            get { return ((string)this["name"]); }
        }

        [ConfigurationProperty("title")]
        public string Title
        {
            get { return ((string)this["title"]); }
        }

        [ConfigurationProperty("description")]
        public string Description
        {
            get { return ((string)this["description"]); }
        }

3) 在配置文件中添加自定义配置部分的信息(在 Configuration 标签下)

  <configSections>
    <section name="component" type="YourAssembly.ComponentCustomSection, YourAssembly"/>
  </configSections>

4) 您可以使用以下代码获取该部分

var section = ConfigurationManager.GetSection("component")

请注意,这适用于单个组件标签。
如果你需要有N个标签,你应该将它们封装在一个父标签中,像这样

<components>
    <component name="name1" title="title1" description="description1"/>
    <component name="name2" title="title2" description="description2"/>
    <component name="name3" title="title3" description="description3"/>
</components>

Here 是一篇很好的文章,可以帮助您开始自定义配置部分

Here 是一个关于具有子元素的 customSection 的问题,应该可以帮助您