Я могу разделить system.serviceModel на отдельный .config файл?

Я хочу разделить свой system.serviceModel раздел web.config в отдельный файл для упрощения некоторых параметров среды. Мои усилия были бесплодны. Когда я делаю попытку его с помощью этого метода. Код wcf выдает исключение: "Инициализатор типа для 'Системы. ServiceModel. ClientBase 1 выдал исключение. Кто-либо может сказать мне, что я делаю неправильно?

Web.config:

<configuration>
  <system.serviceModel configSource="MyWCF.config" />
  ....

MyWCF.config:

  <system.serviceModel>
    <extensions>
      ...
    </extensions>

    <bindings>
      ...
    </bindings>

    <behaviors>
      ...
    </behaviors>

    <client>
       ...
    </client>

  </system.serviceModel>
20
задан Jose Alonso Monge 4 October 2017 в 12:34
поделиться

2 ответа

Вы не можете "экстернализировать" группу секций - поскольку это группа секций конфигурации group - но вы определенно можете экстернализировать каждый из битов внутри нее:

<system.serviceModel>
    <behaviors configSource="behaviors.config" />
    <bindings configSource="bindings.config" />
    <extensions configSource="extensions.config" />
    <client configSource="client.config" />
    <services configSource="services.config" />
</system.serviceModel>

В . любой раздел конфигурации может быть экстернализирован - каждый раздел конфигурации имеет атрибут configSource (хотя Visual Studio иногда жалуется и утверждает обратное.....) - но не группы разделов конфигурации.

К сожалению, эти два понятия трудно различить - вам нужно обратиться к библиотеке MSDN или документации, чтобы узнать это.

Вам также стоит ознакомиться с серией из трех частей Джона Ристы о системе конфигурации .NET на CodeProject.

Очень рекомендую, хорошо написано и чрезвычайно полезно!

36
ответ дан 29 November 2019 в 23:44
поделиться
6
ответ дан 29 November 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: