Нераспознанная ошибка добавления элемента при чтении файла web.config - PullRequest
1 голос
/ 14 ноября 2011

Когда я делаю это ConfigurationManager.GetSection("SectionA/sectionD"), я получаю эту ошибку:

Нераспознанный элемент 'add'

Я бы хотел прочитать все элементы "add" из этого раздела, чтобы создать коллекцию.

<configSections>
    <sectionGroup name="SectionA">
        <sectionGroup name="SectionB">
            <section name="sectionC" type="MyProject.SectionC,MyProject" />
            <section name="sectionD" type="MyProject.SectionD,MyProject" />
        </sectionGroup>
        <section name="sectionE" type="MyProject.SectionE,MyProject" />
    </sectionGroup>
</configSections>

<SectionA>
    <SectionB>
        <sectionD>
            <add key="PerPage10" value="10" />
            <add key="PerPage30" value="30" />
            <add key="PerPage60" value="60" />
        </sectionD>
        <sectionC attribute3="10" />
    </SectionB>
    <sectionE attribute1="3" attribute2="5" />
</SectionA>

1 Ответ

1 голос
/ 14 ноября 2011

Вот пример изменения кода коллекции элементов конфигурации:

private static ConfigurationProperty propIndicators = new ConfigurationProperty("indicators", typeof(ConfigurationElementCollection), null, ConfigurationPropertyOptions.IsRequired | ConfigurationPropertyOptions.IsDefaultCollection);

[ConfigurationProperty("indicators", IsRequired = true, IsDefaultCollection = true)]
[ConfigurationCollection(typeof(ReferencedConfigurationElementCollection), AddItemName = "add", ClearItemsName = "clear", RemoveItemName = "remove")]
public ConfigurationElementCollection Indicators
{
    get
    {
        return (ConfigurationElementCollection)this[propIndicators];
    }
    set
    {
        this[propIndicators] = value;
    }
}

Так в конфигурации это выглядит следующим образом:

<indicators>
    <add ... />
</indicators>
...