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

时间:2008-11-13 20:35:40

标签: .net configuration settings app-config

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

  1. 有一个部分具有默认配置(此部分是使用设计器创建的,因此在Settings类中具有自动生成的强类型访问器
  2. 另一部分只包含“新”项目,所有其他项目从原始部分获取其值。
  3. (注意 - 将“其他部分”放在单独的文件中也很好,但这是一个不同的问题。)

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

1 个答案:

答案 0 :(得分: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>

以下是我们如何将Service.ServiceModel XML的部分链接到我们的Web配置中,以便我们可以将它们分开并轻松编辑。