如何在.NET的app.config中进行分层配置

use*_*871 6 .net settings configuration app-config

app.config配置部分很不错,但我经常需要多个配置集,但差别很小.我想要的是:

  1. 有一个部分具有默认配置(这个部分是使用设计器创建的,因此在Settings类中具有自动生成的强类型访问器
  2. 另一个只包含"新"项的部分,以及所有其他项从原始部分获取其值.

(注意 - 将"其他部分"放在单独的文件中也是很好的,但这是一个不同的问题.)

编辑:应用程序是普通可执行文件(或服务) - 它不是Web服务.另外,我知道有一个"machine.config"可以继承,但它太全局了:它适用于所有应用程序

Bro*_*ody 1

我认为你必须使用自定义处理程序来管理它。

第二部分很简单,因为您可以使用原始配置文件中的 configSource 属性来指向包含 xml 源的文件。

<system.serviceModel>
    <diagnostics>
      <messageLogging logMalformedMessages="true" logMessagesAtServiceLevel="true"
        logMessagesAtTransportLevel="true" />
    </diagnostics>
    <bindings configSource="web.shared.bindings.config" ></bindings>
    <client configSource="web.shared.client.config" ></client>    
</system.serviceModel>
Run Code Online (Sandbox Code Playgroud)

以下是我们如何将 Service.ServiceModel XML 的各个部分链接到我们的 Web Config 中,以便我们可以将它们分开并易于编辑。