<wsDualHttpBinding>

Définit une liaison sécurisée, fiable et interopérable, adaptée aux contrats de service ou aux communications duplex via des intermédiaires SOAP.

Hiérarchie de schéma

<system.serviceModel>
  <bindings>
    <wsDualHttpBinding>

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

bypassProxyOnLocal

Valeur booléenne qui indique s'il faut ignorer le serveur proxy pour les adresses locales. La valeur par défaut est false.

clientBaseAddress

URI qui définit l'adresse de base que le client écoute pour les messages de réponse du service. Si spécifiée, cette adresse (plus un GUID par canal) est utilisée pour écouter. Si la valeur n'est pas spécifiée, l'adresse de base du client est générée de façon spécifique au transport. La valeur par défaut est Null.

closeTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de fermeture. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

hostnameComparisonMode

Spécifie le mode de comparaison du nom d'hôte HTTP utilisé pour analyser des URI. Cet attribut est de type HostnameComparisonMode, ce qui indique si le nom d'hôte est utilisé pour atteindre le service en cas de correspondance sur l'URI. La valeur par défaut est StrongWildcard, qui ignore le nom d'hôte dans la correspondance.

maxBufferPoolSize

Entier qui spécifie la taille maximale du pool de mémoires tampons pour cette liaison. La valeur par défaut est 524 288 octets (512 x 1024). De nombreuses parties de Windows Communication Foundation (WCF) utilisent des mémoires tampons. La création et la destruction des mémoires tampons à chaque utilisation sont chères, tout comme leur nettoyage. Avec les pools de mémoires tampons, vous pouvez prendre une mémoire tampon du pool, l'utiliser et la retourner au pool une fois que vous avez terminé. Ainsi, la surcharge de la création et de la destruction des mémoires tampons est évitée.

maxReceivedMessageSize

Entier positif qui spécifie la taille maximale du message, en octets, y compris les en-têtes, pouvant être reçu sur un canal configuré avec cette liaison. L'expéditeur d'un message qui dépasse cette limite se verra notifier une erreur SOAP. Le récepteur abandonne le message et crée une entrée d'événement dans le journal de suivi. La valeur par défaut est 65 536.

messageEncoding

Définit l'encodeur utilisé pour encoder le message. Les valeurs valides sont les suivantes :

  • Text : utiliser un encodeur de message texte.

  • Mtom : utiliser un encodeur Message Transmission Organization Mechanism 1.0 (MTOM).

  • La valeur par défaut est Text.

Cet attribut est de type WSMessageEncoding.

name

Chaîne qui contient le nom de configuration de la liaison. Cette valeur doit être unique car elle permet d'identifier la liaison. Depuis .NET Framework 4, les liaisons et les comportements ne sont pas obligés d'avoir un nom. Pour plus d'informations sur la configuration par défaut, ainsi que sur les comportements et les liaisons sans nom, consultez Simplified Configuration et Simplified Configuration for WCF Services.

openTimeout

Valeur TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'ouverture. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

proxyAddress

URI qui spécifie l'adresse du proxy HTTP. Si useDefaultWebProxy est true, ce paramètre doit avoir la valeur Null. La valeur par défaut est Null.

receiveTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de réception. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

sendTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'envoi. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

textEncoding

Définit l'encodage de jeu de caractères à utiliser pour l'émission de messages sur la liaison. Les valeurs valides sont les suivantes :

  • BigEndianUnicode : encodage Unicode BigEndian.

  • Unicode : encodage 16 bits.

  • UTF8 : encodage 8 bits

La valeur par défaut est UTF8. Cet attribut est de type Encoding.

transactionFlow

Valeur booléenne qui spécifie si la liaison prend en charge le flux WS-Transactions. La valeur par défaut est false.

useDefaultWebProxy

Valeur booléenne qui indique si le proxy HTTP du système configuré automatiquement est utilisé. L'adresse proxy doit être Null (autrement dit, pas de jeu) si cet attribut est true. La valeur par défaut est true.

Éléments enfants

Élément Description

<security> de <wsDualHttpBinding>

Définit les paramètres de sécurité de la liaison. Cet élément est de type WSDualHttpSecurityElement.

<readerQuotas>

Définit les contraintes de la complexité des messages SOAP qui peuvent être traités par les points de terminaison configurés avec cette liaison. Cet élément est de type XmlDictionaryReaderQuotasElement.

reliableSession

Spécifie si des sessions fiables sont établies entre les points de terminaison du canal.

Éléments parents

Élément Description

<bindings>

Cet élément conserve une collection de liaisons standard et personnalisées.

Notes

WSDualHttpBinding fournit la même prise en charge des protocoles Web Service que WSHttpBinding, mais pour des contrats duplex. WSDualHttpBinding prend uniquement en charge la sécurité SOAP et requiert une messagerie fiable. Dans le cadre de cette liaison, le client doit avoir un URI public servant de point de terminaison de rappel pour le service. Cet élément est fourni par l'attribut clientBaseAddress. Une liaison double expose l'adresse IP du client au service. Ce client doit utiliser un mode de sécurité qui vérifiera qu'il se connecte uniquement à des services de confiance.

Cette liaison peut être utilisée pour une communication fiable via un ou plusieurs intermédiaires SOAP.

Par défaut, cette liaison génère une pile de runtime avec WS-ReliableMessaging pour la fiabilité, WS-Security pour la sécurité et l'authentification des messages, HTTP pour la remise de messages et un encodage de messages Texte/XML.

Exemple

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

Voir aussi

Référence

WSDualHttpBinding
WSDualHttpBindingElement

Concepts

<binding>

Autres ressources

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