Partager via


WSHttpBinding

L’exemple wsHttp montre comment implémenter un service et un client classiques à l’aide de WCF (Windows Communication Foundation). Cet exemple se compose d'un programme de console cliente (client.exe) et d'une bibliothèque de service hébergés par les services IIS (Internet Information Services). Le service implémente un contrat qui définit un modèle de communication demande-réponse. Le contrat est défini par l'interface ICalculator, laquelle expose les opérations mathématiques suivantes : addition, soustraction, multiplication et division. Le client adresse des demandes synchrones à une opération mathématique donnée et le service répond avec le résultat. L'activité du client est affichée dans la fenêtre de console.

Notes

La procédure d'installation ainsi que les instructions de génération relatives à cet exemple figurent à la fin de cette rubrique.

Cet exemple expose le contrat ICalculator à l’aide de l’élément <wsHttpBinding>. La configuration de cette liaison a été développée dans le fichier Web.config.

<bindings>
  <wsHttpBinding>
    <!--The following is the expanded configuration section for a-->
    <!--WSHttpBinding. Each property is configured with the default-->
    <!--value. See the ReliableSession, TransactionFlow, -->
    <!--TransportSecurity, and MessageSecurity samples in the WS -->
    <!--directory to learn how to configure these features. -->
    <binding name="Binding1"
              bypassProxyOnLocal="false"
              transactionFlow="false"
              hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288"
              maxReceivedMessageSize="65536"
              messageEncoding="Text"
              textEncoding="utf-8"
              useDefaultWebProxy="true"
              allowCookies="false">
      <reliableSession ordered="true"
                       inactivityTimeout="00:10:00"
                       enabled="false" />
      <security mode="Message">
        <message clientCredentialType="Windows"
                 negotiateServiceCredential="true"
                 algorithmSuite="Default"
                 establishSecurityContext="true" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

Sur l'élément de binding de base, la valeur maxReceivedMessageSize vous permet de configurer la taille maximale d'un message entrant (en octets). La valeur hostNameComparisonMode vous permet de configurer la prise en compte du nom d'hôte lors du démultiplexage des messages vers le service. La valeur messageEncoding vous permet de configurer l'utilisation de l'encodage texte ou MTOM pour les messages. La valeur textEncoding vous permet de configurer l'encodage de caractères pour les messages. La valeur bypassProxyOnLocal vous permet de configurer l'utilisation d'un proxy HTTP pour les communications locales. La valeur transactionFlow configure la transmission de la transaction en cours (si une opération est configurée en ce sens).

Sur l’élément <reliableSession>, la valeur booléenne active configure l’activation des sessions fiables. La valeur ordered configure l'activation du classement des messages. La valeur inactivityTimeout configure la durée d'inactivité maximale avant son expiration.

Sur <security>, la valeur mode configure le mode de sécurité à utiliser. Dans cet exemple, la sécurité des messages est utilisée ; c’est pourquoi <message> est spécifié à l’intérieur de <security>.

Lorsque vous exécutez l'exemple, les demandes et réponses d'opération s'affichent dans la fenêtre de console du client. Appuyez sur Entrée dans la fenêtre du client pour l'arrêter.

Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714

Press <ENTER> to terminate client.

Pour configurer, générer et exécuter l'exemple

  1. Installez ASP.NET 4.0 à l’aide de la commande suivante.

    %windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
    
  2. Assurez-vous d’avoir effectué la Procédure d’installation unique pour les exemples Windows Communication Foundation.

  3. Pour générer l’édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans Building the Windows Communication Foundation Samples.

  4. Pour exécuter l’échantillon dans une configuration à un ou plusieurs ordinateurs, conformez-vous aux instructions fournies dans Exécution des échantillons Windows Communication Foundation.