Comment : créer une liaison de session fiable personnalisée à l'aide de HTTPS

Cette rubrique décrit l'utilisation de la sécurité de transport SSL (Secure Socket Layer) avec les sessions fiables. Pour utiliser une session fiable sur HTTPS, vous devez créer une liaison personnalisée qui utilise une session fiable et le transport HTTPS. Vous pouvez activer la session fiable soit impérativement en utilisant le code, soit de façon déclarative dans le fichier de configuration. Cette procédure utilise le client et les fichiers de configuration de service pour activer la session fiable et l'élément <httpsTransport>.

La partie clé de cette procédure est que l'élément de configuration endpoint contient un attribut bindingConfiguration qui référence une configuration de liaison personnalisée nommée "reliableSessionOverHttps". L'élément de configuration <binding> peut ensuite référencer ce nom pour spécifier qu'une session fiable et le transport HTTPS sont utilisés en incluant des éléments reliableSession et httpsTransport.

Pour la copie source de cet exemple, consultez Custom Binding Reliable Session over HTTPS.

Pour configurer le service avec une liaison personnalisée afin d'utiliser une session fiable avec HTTPS

  1. Définissez un contrat de service pour le type de service.

  2. Implémentez le contrat de service dans une classe de service. Notez que l'adresse ou les informations de liaison ne sont pas spécifiées dans l'implémentation du service. Par ailleurs, il n'est pas nécessaire d'écrire du code pour récupérer ces informations à partir du fichier de configuration.

  3. Créez un fichier Web.config pour configurer un point de terminaison pour CalculatorService avec une liaison personnalisée nommée "reliableSessionOverHttps" utilisant une session fiable et le transport HTTPS.

  4. Créez un fichier Service.svc qui contient la ligne :

    <%@ServiceHost language=c# Service="CalculatorService" %> 
    
  5. Placez le fichier Service.svc dans votre répertoire virtuel IIS (Internet Information Services).

Pour configurer le client avec une liaison personnalisée afin d'utiliser une session fiable avec HTTPS

  1. Utilisez l'outil ServiceModel Metadata Utility Tool (Svcutil.exe) à partir de la ligne de commande pour générer le code de métadonnées de service.

    Svcutil.exe <service's Metadata Exchange (MEX) address or HTTP GET address> 
    
  2. Le client généré contient l'interface ICalculator qui définit le contrat de service auquel l'implémentation du client doit satisfaire.

  3. L'application cliente générée contient également l'implémentation de ClientCalculator. Notez que les informations d'adresse et de liaison ne sont pas spécifiées n'importe où dans l'implémentation du service. Par ailleurs, il n'est pas nécessaire d'écrire du code pour récupérer ces informations à partir du fichier de configuration.

  4. Configurez une liaison personnalisée nommée reliableSessionOverHttps pour utiliser le transport HTTPS et des sessions fiables.

  5. Créez une instance ClientCalculator dans une application, puis appelez les opérations de service.

  6. Compilez, puis exécutez le client.

Exemple

Sécurité

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

Voir aussi

Autres ressources

Sessions fiables