我正在尝试在网络配置中创建一个部分,我可以在其中列出名称。
为此,我做了以下事情:
public class MyCustomSection : ConfigurationSection
{
public string Name
{
get
{
return (string) this["name"];
}
set
{
this["name"] = value;
}
}
}
在web.config中我添加了以下内容:
<configSections>
<sectionGroup name="myCustomSectionGroup">
<section name="myCustomSection" type="MySite.MyCustomSection"/>
</sectionGroup>
</configSections>
<myCustomSectionGroup>
<myCustomSection name="MyFirstName"></myCustomSection>
<myCustomSection name="MySecondName"></myCustomSection>
</myCustomSectionGroup>
根据MS指南,这就是它的完成方式:{{3}}
我需要做的下一部分是抓取(以IEnumerable格式,列表,数组,真正的任何东西)myCustomSection。我需要知道所有的条目。但是,我似乎无法找到在任何地方如何做到这一点。查看ConfigurationManager.GetSection
,它会返回一个对象,而不是列表或ConfigurationSectionGroup
或ConfigurationSection
。
如何从我的自定义部分获取值并循环遍历它们,让我们说只需在控制台中输出它们的名称。
答案 0 :(得分:0)
我的问题的完整答案可以在以下SO问题中找到:
Correct implementation of a custom config section with nested collections?
问题在于我无法创建多个部分,但我可以通过集合创建该部分的多个元素。有了这个我必须配置类来支持我的布局。请参阅上面发布的SO答案以获取完整示例。