向App Config C#添加多个自定义部分?

时间:2013-01-03 20:53:31

标签: c# asp.net configuration

我想创建一个看起来像

的app.config
<configuration>

<SQLconneciton>
  <add key=name/>
  <add key= otherStuff/>
</SQLconnection>
<PacConnection>
  <add key=name/>
  <add key= otherStuff/>
</PacConnection>

</configuration>

我已经阅读了许多人们制作一个自定义部分并添加内容的示例,我需要允许用户添加多个部分,阅读,删除。我真的不需要花哨的元素,只需简单的添加和键值。部门组是值得使用还是有些容易让我失踪?

1 个答案:

答案 0 :(得分:1)

当然 - 没有什么可以阻止你创建任意数量的自定义配置部分了!

尝试这样的事情:

<?xml version="1.0"?>
<configuration>
  <!-- define the config sections (and possibly section groups) you want in your config file -->
  <configSections>
    <section name="SqlConnection" type="System.Configuration.NameValueSectionHandler"/>
    <section name="PacConnection" type="System.Configuration.NameValueSectionHandler"/>
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
  <!-- "implement" those config sections as defined above -->
  <SqlConnection>
    <add key="abc" value="123" />
  </SqlConnection>
  <PacConnection>
    <add key="abc" value="234" />
  </PacConnection>
</configuration>

System.Configuration.NameValueSectionHandler是用于包含<add key="...." value="....." />条目的配置部分的默认类型(如<appSettings>)。

要获取值,只需使用以下内容:

NameValueCollection sqlConnConfig = ConfigurationManager.GetSection("SqlConnection") as NameValueCollection;
string valueForAbc = sqlConnConfig["abc"];

你可以绝对混合和匹配.NET定义的现有部分处理程序类型以及你自己的自定义配置部分,如果你自己定义了一些 - 只需使用你需要的任何东西!