Короче говоря, метод .Net ConfigurationManager.GetSection
пропускает дубликаты, и я ищу лучший способ справиться с этим. У меня есть файл конфигурации, который включает в себя что-то вроде этого:
<views>
<view name="BusinessUnitsView" Desc="desc1"/>
<view name="BusinessUnitsView" Desc="desc2"/>
</views>
У меня есть граф объектов, на которые загружается конфигурация, где коллекции происходят от нашей производной версии ConfigurationElementCollection
. Коллекция представлений на графике имеет только один элемент после загрузки вышеуказанного - я понимаю, что это просто способ, которым ConfigurationManager
обрабатывает дубликаты. Последний элемент с таким же ключом выигрывает.
Я мог бы создать исключение при обнаружении дубликата с помощью BaseAdd(element, true). Однако, если возможно, я хотел бы, чтобы объект был полностью загружен с дубликатами, поскольку конфигурация считывается на уровне службы, и я хотел бы обнаружить и решить проблему на стороне потребления службы.
Есть ли у меня какие-либо варианты изменения способа добавления в коллекцию работы?