标签:c app-config
我在我的App.Config中设置了一些自定义配置部分,这样我现在有一个看起来像这样的configSection.
<configSections>
<section name="Section1" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section2" type="ConfigSections.MySection, MyNamespace"/>
<section name="Section3" type="ConfigSections.MySection, MyNamespace"/>
</configSections>
我想要做的是在代码中阅读本节,以便在运行时找出我有哪些部分.我试过了:
var mySections = ConfigurationManager.GetSection("configSections");
但是这会返回null.我确定我错过了一些简单的东西,但我找不到任何关于如何做到这一点.
谢谢
解决方法:
使用Configuration.Sections
-property获取声明的配置节的名称.然后,可选地,如果需要,使用ConfigurationManager.GetSection()来检索单个部分.
请注意,您可能希望使用相应ConfigurationSection.SectionInformation
的SectionInformation.IsDeclared
或ConfigSource的值来查找实际在配置文件中声明的部分,或者继承自machine.config或其他部分.
例:
var cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var localSections = cfg.Sections.Cast<ConfigurationSection>()
.Where(s => s.SectionInformation.IsDeclared);
最后,请注意,此方法只会为您提供配置部分.它不会返回配置节,它们本身位于< sectionGroup>内.对于他们,您首先需要遍历Configuration.SectionGroups,它具有自己的Sections
属性,该属性包含每个部分组部分.它还可以包含嵌套的节组,也可以通过每个ConfigurationSectionGroup实例的SectionGroups
属性访问.
标签:c,app-config 来源: https://codeday.me/bug/20190621/1250062.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。