WSHttpBinding
Cet exemple montre comment implémenter un service typique et un client typique à l'aide de Windows Communication Foundation (WCF). 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 visible dans la fenêtre de console.
Remarque : |
---|
La procédure d'installation ainsi que les instructions de génération relatives à cet exemple figurent en fin de rubrique. |
Cet exemple expose le contrat ICalculator
à l'aide de l'élément wsHttpBinding Element. 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 du codage texte ou MTOM pour les messages. La valeur textEncoding
vous permet de configurer le codage 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 element of wsHttpBinding, 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 element of wsHttpBinding est spécifié à l'intérieur de security element of wsHttpBinding.
Lorsque vous exécutez l'exemple, les demandes et réponses d'opération s'affichent dans la fenêtre de console cliente. Appuyez sur ENTER dans la fenêtre du client pour arrêter le client.
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
Assurez-vous d'avoir effectué la procédure indiquée dans la section Procédure d'installation unique pour les exemples Windows Communication Foundation.
Pour générer l'édition C# ou Visual Basic .NET de la solution, suivez les instructions indiquées dans Génération des exemples Windows Communication Foundation.
Pour exécuter l'exemple dans une configuration à un ou plusieurs ordinateurs, suivez les instructions indiquées dans Exécution des exemples Windows Communication Foundation.
Send comments about this topic to Microsoft.
© 2007 Microsoft Corporation. All rights reserved.