Я хочу разделить свой 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>
Вы не можете "экстернализировать" группу секций
- поскольку это группа секций конфигурации 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.
Очень рекомендую, хорошо написано и чрезвычайно полезно!