Да, вы можете «экспортировать» ваши соответствующие разделы конфигурации в отдельные файлы и ссылаться на них как из app.config
, так и из web.config
.
Любой раздел конфигурации .NET может быть сохранен ввнешний файл конфигурации, поэтому вы можете написать:
<system.serviceModel>
<bindings configSource="bindings.config" />
<behaviors configSource="behaviors.config" />
<client configSource="client.config" />
....
</system.serviceModel>
Теперь ваши внешние файлы будут выглядеть точно так же, как соответствующий раздел конфигурации внутри вашей конфигурации:
bindings.config
<?xml version="1.0" encoding="utf-8" />
<bindings>
<basicHttpBinding>
<binding name="......." ...... />
</basicHttpBinding>
</bindings>
Примечание: редактор Visual Studio будет жаловаться на атрибут configSource=
- но Intellisense перепутан - атрибут configSource присутствует в каждом разделе конфигурации, а это работает просто отлично!
Примечание # 2: вы не можете экстернализировать всю <system.serviceModel>
, так как это группа разделов конфигурации - и у них нет никаких средств дляположить во внешние файлы, к сожалению.