Да, вы можете - в определенной степени:
- поместите вашу привязку, поведение, информацию о расширении в отдельные файлы конфигурации
- ссылки на те из клиентской и серверной части вашего приложения
т.е. поместите ваши привязки в bindings.config
:
<?xml version="1.0" encoding="utf-8"?>
<bindings>
<basicHttpBinding>
<binding name="Default" useDefaultWebProxy="false">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Basic"
proxyCredentialType="None" realm="" />
</security>
</binding>
</basicHttpBinding>
</bindings>
, а затем сослаться на этот файл из app.config или web.config вашего сервиса:
<system.serviceModel>
<bindings configSource="bindings.config" />
</system.serviceModel>
Visual Studio будет жаловаться на "configSource" - но, поверьте мне, он работает. Это недостаток XML-схемы Visual Studio, используемой для проверки, но эта функция работает. На самом деле это работает для любого раздела конфигурации (но не для групп разделов конфигурации) в вашем web.config / app.config.
Вы можете сделать это для любого из «подразделов» группы конфигурации <system.serviceModel>
- клиент, сервер, поведение, расширения, назовите его.
Марк