Compartir a través de


<wsDualHttpBinding>

Define un enlace seguro, confiable e interoperable que es adecuado para contratos de servicios dúplex o comunicación a través de intermediarios SOAP.

<configuración>
   <system.serviceModel>
     <Enlaces>
       <wsDualHttpBinding>

Syntax

<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>

Atributos y elementos

En las secciones siguientes se describen los atributos, los elementos secundarios y los elementos primarios.

Attributes

Atributo Description
bypassProxyOnLocal Valor booleano que indica si se debe omitir el servidor proxy para las direcciones locales. El valor predeterminado es false.
clientBaseAddress URI que establece la dirección base a la que escucha el cliente para los mensajes de respuesta del servicio. Si se especifica, esta dirección (más unGUID por canal) se usa para escuchar. Si no se especifica el valor, la dirección base del cliente se genera de forma específica del transporte. El valor predeterminado es null.
closeTimeout Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de cierre. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.
hostnameComparisonMode Especifica el modo de comparación de nombres de host HTTP que se usa para analizar los URI. Este atributo es de tipo HostNameComparisonMode, que indica si el nombre de host se usa para llegar al servicio al buscar coincidencias en el URI. El valor predeterminado es StrongWildcard, que omite el nombre de host en la coincidencia.
maxBufferPoolSize Entero que especifica el tamaño máximo del grupo de búferes para este enlace. El valor predeterminado es 524 288 bytes (512 * 1024). Muchas partes de Windows Communication Foundation (WCF) usan búferes. La creación y destrucción de búferes cada vez que se usan es costosa y la recolección de elementos no utilizados para los búferes también es costosa. Con los grupos de búferes, puede tomar un búfer del grupo, usarlo y devolverlo al grupo una vez que haya terminado. Por lo tanto, se evita la sobrecarga en la creación y destrucción de búferes.
maxReceivedMessageSize Entero positivo que especifica el tamaño máximo del mensaje, en bytes, incluidos los encabezados, que se pueden recibir en un canal configurado con este enlace. El remitente de un mensaje que supere este límite recibirá un error soap. El receptor quita el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65536.
messageEncoding Define el codificador usado para codificar el mensaje. Entre los valores válidos se incluyen los siguientes:

- Texto: use un codificador de mensajes de texto.
- Mtom: use un codificador de organización de transmisión de mensajes 1.0 (MTOM).
- El valor predeterminado es Text.

Este atributo es de tipo WSMessageEncoding.
nombre Cadena que contiene el nombre de configuración del enlace. Este valor debe ser único porque se usa como identificación para el enlace. A partir de .NET Framework 4, los enlaces y los comportamientos no son necesarios para tener un nombre. Para obtener más información sobre la configuración predeterminada y los enlaces y comportamientos sin nombre, vea Configuración simplificada y Configuración simplificada para servicios WCF.
openTimeout Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación abierta. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.
proxyAddress URI que especifica la dirección del proxy HTTP. Si useDefaultWebProxy es true, esta configuración debe ser null. El valor predeterminado es null.
receiveTimeout Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de recepción. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.
sendTimeout Valor TimeSpan que especifica el intervalo de tiempo proporcionado para que se complete una operación de envío. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.
textEncoding Establece la codificación del juego de caracteres que se usará para emitir mensajes en el enlace. Entre los valores válidos se incluyen los siguientes:

- BigEndianUnicode: codificación BigEndian Unicode.
- Unicode: codificación de 16 bits.
- UTF8: codificación de 8 bits

El valor predeterminado es UTF8. Este atributo es de tipo Encoding.
transactionFlow Valor booleano que especifica si el enlace admite el flujo de WS-Transactions. El valor predeterminado es false.
useDefaultWebProxy Valor booleano que indica si se usa el proxy HTTP configurado automáticamente del sistema. La dirección de proxy debe ser null (es decir, no establecida) si este atributo es true. El valor predeterminado es true.

Elementos secundarios

Elemento Description
<seguridad> Define la configuración de seguridad para el enlace. Este elemento es de tipo WSDualHttpSecurityElement.
<readerQuotas> Define las restricciones sobre la complejidad de los mensajes SOAP que los puntos de conexión configurados con este enlace pueden procesar. Este elemento es de tipo XmlDictionaryReaderQuotasElement.
<reliableSession> Especifica si se establecen sesiones confiables entre puntos de conexión de canal.

Elementos primarios

Elemento Description
<Enlaces> Este elemento contiene una colección de enlaces estándar y personalizados.

Observaciones

proporciona WSDualHttpBinding la misma compatibilidad con los protocolos de servicio web que , WSHttpBindingpero para su uso con contratos dúplex. WSDualHttpBinding solo admite la seguridad SOAP y requiere mensajería confiable. Este enlace requiere que el cliente tenga un URI público que proporcione un punto de conexión de devolución de llamada para el servicio. Esto lo proporciona el clientBaseAddress atributo . Un enlace dual expone la dirección IP del cliente al servicio. El cliente debe usar la seguridad para asegurarse de que solo se conecta a los servicios en los que confía.

Este enlace se puede usar para comunicarse de forma confiable a través de uno o varios intermediarios SOAP.

De forma predeterminada, este enlace genera una pila en tiempo de ejecución con WS-ReliableMessaging de confiabilidad, WS-Security para la seguridad y autenticación de mensajes, HTTP para la entrega de mensajes y una codificación de mensajes Text/XML.

Example

<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>

Consulte también