关于configurationsection:在.net配置部分配置列表

Configuring a list in a .net configuration section

我在为应用程序编写配置部分时遇到问题。我只需要配置一个成对的列表,我将把它转换成一个对象。我见过使用configurationElement和configurationElementCollection类的实现,但它看起来很糟糕,实际上我强迫我的代码和配置适合这个解决方案。我不想使用具有键值属性的元素,因为它不是我需要的。我希望我的配置部分如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<MySection>
    <Option>
       <City>aaa</City>
       <Country>bbb</Country>
    </Option>
     <Option>
       <City>ccc</City>
       <Country>ddd</Country>
    </Option>
    <Option>
       <City>eee</City>
       <Country>fff</Country>
    </Option>
</MySection>

另一个可选部分:

1
2
3
4
5
<MySection>
    <Option City="aaa" Country="bbb"/>
    <Option City="ccc" Country="ddd"/>
    <Option City="eee" Country="fff"/>
</MySection>

有没有什么类可以帮助我在不强制代码做难看的事情的情况下解析它?

谢谢您


您可以选择两个选项:

  • 在有关如何在web.config中添加XML的类似问题中创建自定义配置节?或者在下面的一个基本示例中使用loook:http://www.4guysfromrolla.com/articles/020707-1.aspx

  • 如果可以将其存储在简单列表中,请在AppSettings中使用逗号分隔的字符串:

  • 0

    像这样读:

    1
    string[] citiesPerCountry = ConfigurationManager.AppSettings["countryName"].Split(',').Select(s => s.Trim()).ToArray();