<wsDualHttpBinding>
Определяет безопасную, надежную привязку с возможностью взаимодействия, которая подходит для дуплексных контрактов службы или связи посредством посредников протокола SOAP.
<настройка>
<system.serviceModel>
<Привязки>
<wsDualHttpBinding>
Синтаксис
<wsDualHttpBinding>
<binding name="String"
closeTimeout="TimeSpan"
openTimeout="TimeSpan"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
bypassProxyOnLocal="Boolean"
clientBaseAddress="URI"
transactionFlow="Boolean"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
proxyAddress="URI"
textEncoding="Unicode/BigEndianUnicode/UTF8"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan" />
<security mode="None/Message">
<message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
negotiateServiceCredential="Boolean"
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
</security>
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</wsDualHttpBinding>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
bypassProxyOnLocal | Логическое значение, определяющее, будет ли выполняться обход прокси-сервера для локальных адресов. Значение по умолчанию — false . |
clientBaseAddress | Универсальный код ресурса (URI), задающий базовый адрес, который клиент прослушивает для получения сообщений ответа от службы. Если значение задано, для прослушивания используется этот адрес (плюс per-channelGUID). Если значение не задано, базовый адрес клиента создается в соответствии с транспортом. Значение по умолчанию — null . |
closeTimeout | Значение TimeSpan, которое задает длительность времени ожидания для завершения операции закрытия. Это значение должно быть больше или равно Zero. Значение по умолчанию - 00:01:00. |
hostnameComparisonMode | Задает режим сравнения имен узлов HTTP для анализа универсальных кодов ресурсов (URI). Это атрибут типа HostNameComparisonMode, который указывает, используется ли имя узла для доступа к службе при сравнении по универсальному коду ресурсов (URI). Значение по умолчанию — StrongWildcard, при котором имя узла в найденном соответствии не используется. |
maxBufferPoolSize | Целое число, задающее максимальный размер буферного пула для этой привязки. Значение по умолчанию - 524 288 байт (512 * 1024). Многие элементы Windows Communication Foundation (WCF) используют буферы. При создании буферов и их уничтожении после каждого использования расходуется слишком много ресурсов; при сборке мусора для буферов также расходуется слишком много ресурсов. Буферные пулы позволяют брать буфер из пула, использовать его, а затем возвращать обратно, когда он больше не требуется. Это позволяет избежать излишней нагрузки, связанной с созданием и уничтожением буферов. |
maxReceivedMessageSize | Положительное целое число, задающее, в байтах, максимальный размер сообщения (включая заголовки), которое можно получить по каналу, настроенному с использованием этой привязки. Отправитель сообщения, превышающего это ограничение, получит ошибку SOAP. Получатель отклоняет сообщение и создает запись о событии в журнале трассировки. Значение по умолчанию — 65536. |
messageEncoding | Определяет кодировщик, используемый для кодировки сообщения. Допустимые значения. — Текст: используйте кодировщик текстовых сообщений. — Mtom: используйте кодировщик механизма организации передачи сообщений 1.0 (MTOM). — значение по умолчанию — Text. Это атрибут типа WSMessageEncoding. |
name | Строка, содержащая имя конфигурации привязки. Это значение должно быть уникальным, поскольку оно используется в качестве идентификатора привязки. Начиная с платформа .NET Framework 4, привязкам и поведению не требуется иметь имя. Дополнительные сведения о конфигурации по умолчанию и безымяных привязках и поведении см. в разделах Упрощенная конфигурация и Упрощенная конфигурация для служб WCF. |
openTimeout | Значение TimeSpan, которое задает длительность времени ожидания для завершения операции открытия. Это значение должно быть больше или равно Zero. Значение по умолчанию - 00:01:00. |
proxyAddress | Универсальный код ресурса (URI), задающий адрес прокси-сервера HTTP. Если параметр useDefaultWebProxy имеет значение true , данный параметр должен иметь значение null . Значение по умолчанию — null . |
receiveTimeout | Значение TimeSpan, которое задает длительность времени ожидания для завершения операции получения. Это значение должно быть больше или равно Zero. Значение по умолчанию - 00:01:00. |
sendTimeout | Значение TimeSpan, которое задает длительность времени ожидания для завершения операции отправки. Это значение должно быть больше или равно Zero. Значение по умолчанию - 00:01:00. |
textEncoding | Задает кодировку, используемую при отправке сообщений через привязку. Допустимые значения. — BigEndianUnicode: кодировка BigEndian в Юникоде. — Юникод: 16-разрядная кодировка. — UTF8: 8-битовое кодирование По умолчанию используется значение UTF8. Это атрибут типа Encoding. |
transactionFlow | Логическое значение, определяющее, поддерживает ли привязка потоковые спецификации WS-Transactions. Значение по умолчанию — false . |
useDefaultWebProxy | Логическое значение, указывающее, должен ли использоваться автоматически настроенный системный прокси-сервер HTTP. Если данный атрибут имеет значение null , прокси-адрес должен быть равен true (то есть не задан). Значение по умолчанию — true . |
Дочерние элементы
Элемент | Описание |
---|---|
<Безопасности> | Определяет параметры безопасности привязки. Это элемент типа WSDualHttpSecurityElement. |
<readerQuotas> | Определяет ограничения по сложности сообщений SOAP, которые могут обрабатываться конечными точками, настроенными с использованием этой привязки. Это элемент типа XmlDictionaryReaderQuotasElement. |
<reliableSession> | Указывает, устанавливаются ли между конечными точками канала надежные сеансы. |
Родительские элементы
Элемент | Описание |
---|---|
<Привязки> | Этот элемент содержит коллекцию стандартных и пользовательских привязок. |
Комментарии
Объект WSDualHttpBinding
предоставляет такую же поддержку протоколам веб-служб, как и объект WSHttpBinding
, но применяется для дуплексных контрактов. WSDualHttpBinding
поддерживает только безопасность SOAP и требует надежного обмена сообщениями. Для этой привязки необходимо, чтобы клиент имел открытый универсальный код ресурса (URI), предоставляющий конечную точку обратного вызова для службы. Это обеспечивается атрибутом clientBaseAddress
. Двойная привязка предоставляет службе IP-адрес клиента. Клиенту следует использовать механизм безопасности, чтобы гарантировать, что подключение выполняется только к доверенным службам.
Эту привязку можно использовать для надежной связи посредством одного или нескольких посредников протокола SOAP.
По умолчанию эта привязка создает стек времени выполнения с WS-ReliableMessaging для надежности, WS-Security для безопасности и проверки подлинности сообщений, HTTP для доставки сообщений и кодировкой сообщений Text/XML.
Пример
<configuration>
<system.ServiceModel>
<bindings>
<wsDualHttpBinding>
<binding closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
clientBaseAddress="http://localhost:8001/client/"
transactionFlow="true"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00" />
<security mode="None">
<message clientCredentialType="None"
negotiateServiceCredential="false"
algorithmSuite="Aes128" />
</security>
</binding>
</wsDualHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>