Share via


<<wsDualHttpBinding>>

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

<<system.serviceModel>>
  <enlaces>
    <<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 maxDepth="integer" 
           maxStringContentLength="integer"
           maxByteArrayContentLength="integer"
           maxBytesPerRead="integer"
           maxNameTableCharCount="integer" />
    </binding>
</wsDualHttpBinding>

Atributos y elementos

Atributos

Atributo Descripción

bypassProxyOnLocal

Un valor booleano que indica si se omitirá el servidor proxy para las direcciones locales. El valor predeterminado es false.

clientBaseAddress

Un URI que establece la dirección base que el cliente escucha para los mensajes de respuesta del servicio. Si se especifica, esta dirección (más una por channelGUID) se utiliza para realizar escuchas. Si no se especifica el valor, la dirección de la base de clientes se genera de una manera específica del transporte. El valor predeterminado es null.

closeTimeout

Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de cierre para completarse. 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 utilizado para analizar los URI. Este atributo es del tipo HostnameComparisonMode, que indica si se va a utilizar el nombre del host para llegar al servicio cuando coincida en el URI. El valor predeterminado es StrongWildcard, que omite el nombre del 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 (512x1024). En muchas partes de Windows Communication Foundation (WCF) se utilizan búferes. Crear y destruir búferes cada vez que se usan es caro, y la recopilación de elementos no utilizados para los búferes también es cara. Con grupos de búferes, puede tomar un búfer del grupo, usarlo y devolverlo al grupo una vez haya terminado. Así se evitan los gastos generales al crear y destruir búferes.

maxReceivedMessageSize

Entero positivo que especifica el tamaño máximo del mensaje, en bytes, incluidos los encabezados, que se puede recibir en un canal configurado con este enlace. El remitente de un mensaje que supere este límite recibirá un error SOAP. El receptor elimina el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65536.

messageEncoding

Define el codificador utilizado para codificar el mensaje. Los valores válidos son los siguientes:

  • Text: utiliza un codificador de mensajes de texto.
  • Mtom: utiliza un codificador de Mecanismo de optimización de transmisión del mensaje 1.0 (MTOM).
  • El valor predeterminado es Text.

Este atributo es del tipo WSMessageEncoding.

name

Cadena que contiene el nombre de la configuración del enlace. Este valor debe ser único porque se utiliza como identificador del enlace.

openTimeout

Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de apertura para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.

proxyAddress

Un URI que especifica la dirección del proxy HTTP. Si useDefaultWebProxy es true, este valor debe ser null. El valor predeterminado es null.

receiveTimeout

Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de recepción para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.

sendTimeout

Un valor TimeSpan que especifica el intervalo de tiempo de que dispone una operación de envío para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00.

textEncoding

Establece el codificador del juego de caracteres que se va a usar para emitir los mensajes en el enlace. Los valores válidos son los siguientes:

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

El valor predeterminado es UTF8. Este atributo es del tipo Encoding.

transactionFlow

Valor booleano que especifica si el enlace admite las transacciones WS del flujo. El valor predeterminado es false.

useDefaultWebProxy

Un valor booleano que indica si se utiliza el proxy HTTP del sistema configurado automáticamente. La dirección del proxy debe ser null (es decir, no el conjunto) si este atributo es true. El valor predeterminado es true.

Elementos secundarios

Elemento Descripción

Elemento <security> de <wsDualHttpBinding>

Define la configuración de seguridad del enlace. Este elemento es del tipo WSDualHttpSecurityElement.

<readerQuotas>

Define restricciones en la complejidad de los mensajes SOAP que pueden ser procesados por los extremos configurados con este enlace. Este elemento es del tipo XmlDictionaryReaderQuotasElement.

<reliableSession> (Elemento)

Especifica si se establecen sesiones confiables entre los extremos del canal.

Elementos primarios

Elemento Descripción

<enlaces>

Este elemento contiene una colección de enlaces estándar y personalizados. Cada entrada se identifica por su name. Los servicios utilizan los enlaces vinculándose a ellos mediante su name.

Comentarios

WSDualHttpBinding proporciona la misma compatibilidad para los protocolos de servicio web como WSHttpBinding, pero para el uso con contratos dúplex. WSDualHttpBinding sólo admite la seguridad de SOAP y requiere mensajería de confianza. Este enlace requiere que el cliente tenga un URI público que proporciona un extremo de devolución de llamada para el servicio. Lo proporciona el atributo clientBaseAddress. Un enlace dual expone la dirección IP del cliente al servicio. El cliente debería utilizar la seguridad para asegurarse de que sólo se conecta a servicios de confianza.

Este enlace se puede usar para comunicarse con confianza través de uno o más intermediarios SOAP.

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

Ejemplo

<configuration>
<system.ServiceModel>
<bindings>
<wsDualHttpBinding>
    <binding name="test"
        closeTimeout="00:00:10"
        openTimeout="00:00:20" 
        receiveTimeout="00:00:30"
        sendTimeout="00:00:40"
        bypassProxyOnLocal="false" 
        clientBaseAddress="https://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

Referencia

WSDualHttpBinding
WSDualHttpBindingElement

Conceptos

<enlace>

Otros recursos

Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients