Практическое руководство. Конфигурации привязок и поведения

WCF упрощает совместный доступ к конфигурациям между конечными точками благодаря использованию системы ссылок в конфигурации. Вместо того, чтобы непосредственно назначать значения конфигурации для конечной точки, значения конфигурации, относящиеся к привязке, группируются в элементах bindingConfiguration в разделе <binding>. Конфигурация привязок представляет собой именованную группу параметров привязки. Конечные точки могут ссылаться на bindingConfiguration по имени.

Копировать

<?xml version="1.0" encoding="utf-8"?><configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="myBindingConfiguration1" closeTimeout="00:01:00" /> <binding name="myBindingConfiguration2" closeTimeout="00:02:00" /> <binding closeTimeout="00:03:00" /> <!—- Default binding for basicHttpBinding --> </basicHttpBinding> </bindings> <services> <service name="MyNamespace.myServiceType"> <endpoint address="myAddress" binding="basicHttpBinding" bindingConfiguration="myBindingConfiguration1" contract="MyContract" /> <endpoint address="myAddress2" binding="basicHttpBinding" bindingConfiguration="myBindingConfiguration2" contract="MyContract" /> <endpoint address="myAddress3" binding="basicHttpBinding" contract="MyContract" /> </service> </services> </system.serviceModel></configuration>

name для bindingConfiguration задано в элементе <binding>.Атрибут name должен содержать уникальную строку в области типа привязки (в данном случае — <basicHttpBinding>) или пустое значение, указывающее на привязку по умолчанию.Конечная точка содержит ссылки на конфигурацию, задавая для этой строки атрибут bindingConfiguration.

behaviorConfiguration реализуется аналогичным образом, как показано в следующем образце.

Копировать

<?xml version="1.0" encoding="utf-8"?><configuration> <system.serviceModel> <behaviors> <endpointBehaviors> <behavior name="myBehavior"> <callbackDebug includeExceptionDetailInFaults="true" /> </behavior> </endpointBehaviors> <serviceBehaviors> <behavior> <serviceMetadata httpGetEnabled="true" /> </behavior> </serviceBehaviors> </behaviors> <services> <service name="NewServiceType"> <endpoint address="myAddress3" behaviorConfiguration="myBehavior" binding="basicHttpBinding" contract=”MyContract” /> </service> </services> </system.serviceModel></configuration>

Заметьте, что в службу добавляет по умолчанию набор поведений службы.Эта система обеспечивает для конечных точек совместные общие конфигурации, не переопределяя параметры.Если требуется область уровня компьютера, создайте конфигурацию привязки или поведения в файле Machine.config.Параметры конфигурации доступны во всех файлах App.config. Средство редактирования конфигурации (SvcConfigEditor.exe) упрощает создание конфигураций.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: