Как выполнить иерархическую настройку в .NET app.config - PullRequest
6 голосов
/ 13 ноября 2008

разделы конфигурации app.config хороши, но мне часто требуется несколько наборов настроек, но с небольшой разницей. что я хочу это:

  1. Имеет один раздел с конфигурацией по умолчанию (этот создается с помощью дизайнера и, таким образом, имеет автоматически созданные строго типизированные средства доступа в классе Settings
  2. Другой раздел, содержащий только «новые» элементы, а все остальные элементы получают значения из исходного раздела.

(примечание - было бы неплохо поместить этот «другой раздел» в отдельный файл, но это другая проблема.)

Редактировать : приложение является простым исполняемым файлом (или службой) - это не веб-служба. Кроме того, я знаю, что есть «machine.config» для наследования, но он слишком глобален: он для всех приложений вместе

1 Ответ

1 голос
/ 13 ноября 2008

Я думаю, вам придется использовать собственный обработчик для управления этим.

Вторая часть проста, так как вы можете использовать атрибут 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>

Вот как мы связываем части XML-файла Service.ServiceModel с нашей веб-конфигурацией, чтобы мы могли хранить их отдельно и легко редактировать.

...