Share via


<basicHttpBinding>

Représente une liaison qu'un service Windows Communication Foundation (WCF) peut utiliser pour configurer et exposer des points de terminaison qui sont en mesure de communiquer avec les services Web basés sur ASMX et les clients et autres services qui se conforment au WS-I Basic Profile 1.1.

<system.serviceModel>
  <bindings>
    <basicHttpBinding>

<basicHttpBinding>
   <binding 
       allowCookies="Boolean"
       bypassProxyOnLocal="Boolean"
       closeTimeout="TimeSpan" 
       envelopeVersion="None/Soap11/Soap12"
       hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
       maxBufferPoolSize="Integer"
       maxBufferSize="Integer"
       maxReceivedMessageSize="Integer"
       messageEncoding="Text/Mtom"
              name="string" 
       openTimeout="TimeSpan" 
       proxyAddress="URI"
        receiveTimeout="TimeSpan"
       sendTimeout="TimeSpan"
              textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
              transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"
       useDefaultWebProxy="Boolean"
       <security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">
           <transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"
                  proxyCredentialType="None/Basic/Digest/Ntlm/Windows"
                                    realm="string" />
           <message 
                 algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
                            clientCredentialType="UserName/Certificate"/>
       </security>
       <readerQuotas maxDepth="Integer" 
            maxStringContentLength="Integer"
            maxByteArrayContentLength="Integer"
            maxBytesPerRead="Integer"
            maxNameTableCharCount="Integer" />
   </binding>
</basicHttpBinding>

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.

Une ressource Internet est locale si elle dispose d'une adresse locale. Une adresse locale est une adresse sur le même ordinateur, le réseau local LAN ou intranet et est identifiée, syntaxiquement, par l'absence de point (.) comme dans les URI "http://webserver/" et "http://localhost".

La définition de cet attribut détermine si les points de terminaison configurés avec le BasicHttpBinding utilisent le serveur proxy lors de l'accès aux ressources locales. Si cet attribut est true, les demandes adressées à des ressources Internet locales n'utilisent pas le serveur proxy. Utilisez le nom d'hôte (plutôt que localhost) si vous souhaitez que les clients traversent un proxy lorsqu'ils parlent aux services sur le même ordinateur et que cet attribut a la valeur true.

Si cet attribut est false, toutes les demandes Internet sont exécutées par le serveur proxy.

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.

envelopeVersion

Spécifie la version de SOAP utilisée pour les messages traités par cette liaison. La seule valeur valide est Soap11.

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 quantité de mémoire maximale allouée pour une utilisation par le gestionnaire de tampons des messages qui reçoivent des messages du canal. La valeur par défaut est de 524 288 (0x80000) octets.

Le gestionnaire de tampons réduit le coût d'utilisation des mémoires tampons à l'aide d'un pool de mémoires tampons. Les mémoires tampons sont requises par le service pour traiter des messages lorsqu'ils sortent du canal. S'il n'y a pas mémoire suffisante dans le pool de mémoires tampons pour traiter la charge de message, le gestionnaire de mémoires tampons doit allouer de la mémoire additionnelle dans le segment de mémoire CLR, ce qui augmente le traitement de la garbage collection. Une allocation importante de mémoire issue du tas de garbage CLR indique que la taille du pool de mémoires tampons est insuffisante et qu'il est possible d'améliorer les performances en augmentant la limite spécifiée par cet attribut.

maxBufferSize

Entier qui spécifie la taille maximale, en octets, d'une mémoire tampon qui stocke des messages pendant qu'ils sont traités pour un point de terminaison configuré avec cette liaison. La valeur par défaut est de 65 536 octets.

maxReceivedMessageSize

Entier positif qui définit la taille maximale du message, en octets, y compris les en-têtes d'un message pouvant être reçu sur un canal configuré avec cette liaison. L'expéditeur reçoit une erreur SOAP si le message est trop grand pour le récepteur. 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 octets.

messageEncoding

Définit le codeur utilisé pour coder le message SOAP. Les valeurs valides sont les suivantes :

  • Text : utiliser un codeur de message texte.
  • Mtom : utiliser un codeur Message Transmission Organization Mechanism 1.0 (MTOM).

La valeur par défaut est Text. Cet attribut est de type WSMessageEncoding.

messageVersion

Spécifie la version de message utilisée par les clients et les services configurés avec la liaison. Cet attribut est de type MessageVersion.

name

Chaîne qui contient le nom de configuration de la liaison. Cette valeur doit être unique car elle permet d'identifier la liaison. Chaque liaison porte un name et a un attribut namespace qui l'identifient de façon unique dans les métadonnées du service. De plus, ce nom est unique parmi les liaisons du même type.

namespace

Spécifie l'espace de noms XML de la liaison. La valeur par défaut est "http://tempuri.org/Bindings". Chaque liaison porte un name et a un attribut namespace qui l'identifient de façon unique dans les métadonnées du service.

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 contient l'adresse du proxy HTTP. Si useSystemWebProxy a la valeur 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:10: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 le codage de jeu de caractères à utiliser pour l'émission de messages sur la liaison. Les valeurs valides sont les suivantes :

  • BigEndianUnicode : codage Unicode BigEndian.
  • Unicode : codage 16 bits.
  • UTF8 : codage 8 bits

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

transferMode

Valeur TransferMode valide qui spécifie si les messages sont mis en mémoire tampon ou transmis en continu dans une demande ou une réponse.

useDefaultWebProxy

Valeur booléenne qui spécifie si le proxy HTTP du système, configuré automatiquement, doit être utilisé, le cas échéant. La valeur par défaut est true.

Éléments enfants

Élément Description

<security> de <basicHttpBinding>

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

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

Éléments parents

Élément Description

<bindings>

Cet élément conserve une collection de liaisons standard et personnalisées. Chaque entrée est identifiée par son name unique. Les services utilisent les liaisons en les liant à l'aide du name.

Notes

Le BasicHttpBinding utilise HTTP en guise de transport pour envoyer des messages SOAP 1.1. Un service peut utiliser cette liaison pour exposer des points de terminaison qui se conforment à WS-I BP 1.1, tels que ceux que les clients ASMX consomment. De la même façon, un client peut utiliser le BasicHttpBinding pour communiquer avec les services qui exposent des points de terminaison qui se conforment à WS-I BP 1.1, tel que les services Web ASMX ou les services configurés avec le BasicHttpBinding.

La sécurité est désactivée par défaut, mais peut être ajoutée en affectant à l'attribut de mode de l'élément enfant <security> de <basicHttpBinding> une valeur autre que None. Par défaut, il utilise un codage de message "Texte" et un codage texte UTF-8.

Exemple

L'exemple suivant montre l'utilisation de basicHttpBinding qui fournit la communication HTTP et l'interopérabilité maximale avec les services Web de première et seconde génération. La liaison est spécifiée dans les fichiers de configuration pour le client et le service. Le type de liaison est spécifié à l'aide de l'attribut binding de l'élément <endpoint>. Si vous souhaitez configurer la liaison de base et modifier quelques-uns de ses paramètres, il est nécessaire de définir une configuration de liaison. Le point de terminaison doit référencer la configuration de liaison par nom en utilisant l'attribut bindingConfiguration de l'élément <endpoint>, comme présenté dans le code de configuration suivant pour le service.

<system.serviceModel> 
  <services>
    <service 
        type="Microsoft.ServiceModel.Samples.CalculatorService"
        behaviorConfiguration="CalculatorServiceBehavior">
       <endpoint address=""
             binding="basicHttpBinding"
             bindingConfiguration="Binding1" 
             contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
  </services>
  <bindings>
     <basicHttpBinding>
        <binding name="Binding1" 
               hostNameComparisonMode="StrongWildcard" 
               receiveTimeout="00:10:00"
               sendTimeout="00:10:00"
               openTimeout="00:10:00"
               closeTimeout="00:10:00"
               maxMessageSize="65536" 
               maxBufferSize="65536" 
               maxBufferPoolSize="524288" 
               transferMode="Buffered" 
               messageEncoding="Text" 
               textEncoding="utf-8"
               bypassProxyOnLocal="false"
               useDefaultWebProxy="true" >
              <security mode="None" />
         </binding>
     </basicHttpBinding>
  </bindings>
</system.serviceModel>

Voir aussi

Référence

Binding
BindingElement
BasicHttpBinding
BasicHttpBindingElement

Concepts

<binding>

Autres ressources

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