添加多个自定义节到应用程序配置c#

本文关键字:应用程序 配置 自定义 添加 | 更新日期: 2023-09-27 17:50:40

我想让一个app.config看起来像

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

我读过很多例子,人们使一个自定义部分和添加的东西,我需要允许用户添加多个部分,阅读,删除。我真的不需要花哨的元素,只需要简单的add和key值。分段组值得使用吗,还是我遗漏了一些简单的东西?

添加多个自定义节到应用程序配置c#

当然-没有什么可以阻止您创建尽可能多的自定义配置节!

试试这样写:

<?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>

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

要获取值,只需使用如下命令:

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

你完全可以混合和匹配现有的。net定义的节处理程序类型,以及你自己的自定义配置节,如果你自己定义了一些-只要使用任何你需要的!