ConfigurationManager.GetSection跳过重复(ConfigurationM

2019-10-29 13:04发布

长话短说是,.NET ConfigurationManager.GetSection方法跳过重复,我正在寻找处理这个最佳实践。 我有包括像这样的配置文件:

   <views>
     <view name="BusinessUnitsView" Desc="desc1"/>
     <view name="BusinessUnitsView" Desc="desc2"/>
   </views>

我有一个对象在哪里集合,从我们的衍生版本导出配置的负荷曲线ConfigurationElementCollection 。 意见收集在图中只中有一个项目装入上述后-我的理解是,这是根本的方式ConfigurationManager处理重复。 使用相同的密钥胜的最后一个项目。

我会扔在一个重复的异常使用BaseAdd被发现(元素,真)。 然而,如果可能的话我想获取对象完全加载重复,作为配置获取服务层阅读,我想检测和处理与服务的消费方的问题。

我是否有任何选项用于修改的方式增加了采集工作?

Answer 1:

您需要创建自己ConfigurationSection 。 见这里或在这里 (第二个链接的方法已经被废弃了,但它仍然可以提供一些线索)

这可以让你代表内部配置变量的集合,并设置喜欢的属性DefaultValueIsRequired



Answer 2:

也许你只是想迭代一个列表,但配置的主要想法是,你可以做

var view = SomeConfigClass["BusinessUnitsView"];

只允许一个答案。



文章来源: ConfigurationManager.GetSection Skips Duplicates