BasicBinding with Transport Security
Cet exemple illustre l'utilisation de la sécurité de transport SSL avec la liaison de base. Cet exemple est basé sur Getting Started, exemple qui implémente un service de calculatrice.
Par défaut, la liaison de base prend en charge la communication HTTP. L'exemple indique comment activer la sécurité de transport pour la liaison de base. Vous devez créer un certificat et l'assigner en utilisant l'Assistant Certificat de serveur Web avant d'exécuter l'exemple.
Remarque : |
---|
La procédure d'installation ainsi que les instructions de génération relatives à cet exemple figurent à la fin de cette rubrique. |
Le code du programme dans l'exemple est identique à celui du service Getting Started, exemple. La définition de point de terminaison et la définition de liaison des paramètres du fichier de configuration sont modifiées pour permettre une communication sécurisée, comme indiqué dans l'exemple de configuration suivant :
<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>
<!-- Configure basicHttpBinding with Transport security -- >
<!-- mode and clientCredentialType set to None.-->
<binding name="Binding1">
<security mode="Transport">
<transport clientCredentialType="None"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
...
</system.serviceModel>
Étant donné que le certificat utilisé dans cet exemple est un certificat de test créé avec Makecert.exe, une alerte de sécurité apparaît lorsque vous essayez d'accéder à une adresse HTTPS, telle que https://localhost/servicemodelsamples/service.svc, depuis votre navigateur. Pour permettre au client Windows Communication Foundation (WCF) d'utiliser un certificat de test, du code supplémentaire est ajouté au client pour supprimer l'alerte de sécurité. Ce code, et la classe qui l'accompagne, n'est pas nécessaire lors de l'utilisation de vrais certificats.
// This code is required only for test certificates such as those
// created by Makecert.exe.
PermissiveCertificatePolicy.Enact(
"CN=ServiceModelSamples-HTTPS-Server");
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 à la section Procédure d'installation unique pour les exemples Windows Communication Foundation.
Assurez-vous d'avoir effectué la procédure indiquée à la section Instructions d'installation du certificat de serveur des services Internet (IIS).
Pour générer l'édition C# ou Visual Basic .NET de la solution, conformez-vous aux instructions figurant dans la rubrique 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.