Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ПСП] Учебник WCF.docx
Скачиваний:
48
Добавлен:
26.03.2016
Размер:
147.76 Кб
Скачать

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

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)упрощает создание конфигураций.