<wsHttpBinding>
Définit une liaison sécurisée, fiable, interopérable adaptée aux contrats de service non duplex. La liaison implémente les spécifications suivantes : WS-ReliableMessaging pour la fiabilité et WS-Security pour la sécurité et l'authentification des messages. Le protocole de transport est HTTP et le codage de message est Text/XML.
<system.serviceModel>
<bindings>
<wsHttpBinding>
<wsHttpBinding>
<binding
allowCookies="Boolean"
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="Integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
proxyAddress="URI"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<security mode="Message/None/Transport/TransportWithCredential">
<transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
realm="string" />
<message
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
establishSecurityContext="Boolean"
negotiateServiceCredential="Boolean" />
</security>
<readerQuotas maxDepth="integer"
maxStringContentLength="integer"
maxByteArrayContentLength="integer"
maxBytesPerRead="integer"
maxNameTableCharCount="integer" />
</binding>
</wsHttpBinding>
Attributs et éléments
Attributs
Attribut | Description |
---|---|
allowCookies |
Valeur booléenne qui indique si le client accepte les cookies et les propage dans de futures demandes. La valeur par défaut est false. Vous pouvez utiliser cette propriété lorsque vous interagissez avec les services Web ASMX qui utilisent des cookies. De cette manière, vous avez la certitude que les cookies retournés par le serveur sont automatiquement copiés dans toutes les futures demandes du client pour ce service. |
bypassProxyOnLocal |
Valeur booléenne qui indique s'il faut ignorer le serveur proxy pour les adresses locales. La valeur par défaut est false. |
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 renvoyer dans le 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 le codeur utilisé pour coder le message. Les valeurs valides sont les suivantes :
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. |
openTimeout |
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 useSystemWebProxy 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 |
Spécifie le codage de jeu de caractères à utiliser pour l’émission de messages sur la liaison. Les valeurs valides sont les suivantes :
La valeur par défaut est Utf8TextEncoding. 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 spécifie si le proxy HTTP du système configuré automatiquement est utilisé. La valeur par défaut est true. |
Éléments enfants
Élément | Description |
---|---|
Définit les paramètres de sécurité de la liaison. Cet élément est de type WSHttpSecurityElement. |
|
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. |
|
Spécifie si des sessions fiables sont établies entre les points de terminaison du canal. |
Éléments parents
Élément | Description |
---|---|
Cet élément conserve une collection de liaisons standard et personnalisées. Chaque entrée est identifiée par son name. Les services utilisent les liaisons en les liant à l'aide du name. |
Notes
WSHttpBinding est semblable à BasicHttpBinding mais fournit plus de fonctionnalités de service Web. Il utilise le transport HTTP et assure la sécurité des messages, comme BasicHttpBinding, mais il fournit également des transactions, une messagerie fiable et WS-Addressing, qu'il soit actif par défaut ou disponible par l'intermédiaire d'un paramètre de contrôle unique.
Exemple
<configuration>
<system.ServiceModel>
<bindings>
<wsHttpBinding>
<binding name="test"
closeTimeout="00:00:10"
openTimeout="00:00:20"
receiveTimeout="00:00:30"
sendTimeout="00:00:40"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="utf-16"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00"
enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Digest"
proxyCredentialType="None"
realm="someRealm" />
<message clientCredentialType="Windows"
negotiateServiceCredential="false"
algorithmSuite="Aes128"
defaultProtectionLevel="None" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>
Voir aussi
Référence
WSHttpBinding
WSHttpBindingElement
Concepts
Autres ressources
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients