Tutoriel : Utiliser un client Windows Communication Foundation

Ce tutoriel décrit la dernière des cinq tâches requises pour créer une application Windows Communication Foundation (WCF) de base. Pour obtenir une vue d’ensemble des tutoriels, consultez Tutoriel : Prise en main des applications Windows Communication Foundation.

Après avoir créé et configuré un proxy Windows Communication Foundation (WCF), vous créez une instance cliente et compilez l’application cliente. Vous utilisez ensuite celle-ci pour communiquer avec le service WCF.

Dans ce tutoriel, vous allez apprendre à :

  • Ajouter du code pour utiliser le client WCF.
  • Tester le client WCF.

Ajouter du code pour utiliser le client WCF

Le code client effectue les opérations suivantes :

  • Instancie le client WCF.
  • Appelle les opérations de service à partir du proxy généré.
  • Ferme le client une fois l’appel de l’opération terminé.

Ouvrez le fichier Program.cs ou Module1.vb du projet GettingStartedClient, puis remplacez son code par le code suivant :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GettingStartedClient.ServiceReference1;

namespace GettingStartedClient
{
    class Program
    {
        static void Main(string[] args)
        {
            //Step 1: Create an instance of the WCF proxy.
            CalculatorClient client = new CalculatorClient();

            // Step 2: Call the service operations.
            // Call the Add service operation.
            double value1 = 100.00D;
            double value2 = 15.99D;
            double result = client.Add(value1, value2);
            Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

            // Call the Subtract service operation.
            value1 = 145.00D;
            value2 = 76.54D;
            result = client.Subtract(value1, value2);
            Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

            // Call the Multiply service operation.
            value1 = 9.00D;
            value2 = 81.25D;
            result = client.Multiply(value1, value2);
            Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

            // Call the Divide service operation.
            value1 = 22.00D;
            value2 = 7.00D;
            result = client.Divide(value1, value2);
            Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

            // Step 3: Close the client to gracefully close the connection and clean up resources.
            Console.WriteLine("\nPress <Enter> to terminate the client.");
            Console.ReadLine();
            client.Close();
        }
    }
}
Imports System.Collections.Generic
Imports System.Text
Imports System.ServiceModel
Imports GettingStartedClient.ServiceReference1

Module Module1

    Sub Main()
        ' Step 1: Create an instance of the WCF proxy.
        Dim Client As New CalculatorClient()

        ' Step 2: Call the service operations.
        ' Call the Add service operation.
        Dim value1 As Double = 100D
        Dim value2 As Double = 15.99D
        Dim result As Double = Client.Add(value1, value2)
        Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result)

        ' Call the Subtract service operation.
        value1 = 145D
        value2 = 76.54D
        result = Client.Subtract(value1, value2)
        Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result)

        ' Call the Multiply service operation.
        value1 = 9D
        value2 = 81.25D
        result = Client.Multiply(value1, value2)
        Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result)

        ' Call the Divide service operation.
        value1 = 22D
        value2 = 7D
        result = Client.Divide(value1, value2)
        Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result)

        ' Step 3: Close the client to gracefully close the connection and clean up resources.
        Console.WriteLine()
        Console.WriteLine("Press <Enter> to terminate the client.")
        Console.ReadLine()
        Client.Close()

    End Sub

End Module

Notez l’instruction using (pour Visual C#) ou Imports (pour Visual Basic) qui importe GettingStartedClient.ServiceReference1. Cette instruction importe le code généré par Visual Studio avec la fonction Ajouter une référence de service. Le code instancie le proxy WCF, puis appelle chacune des opérations de service que le service de calculatrice expose. Il ferme ensuite le proxy et met fin au programme.

Tester le client WCF

Tester l’application à partir de Visual Studio

  1. Enregistrez et générez la solution.

  2. Sélectionnez le dossier GettingStartedLib, puis Définir comme projet de démarrage dans le menu contextuel.

  3. Dans Projets de démarrage, dans la liste déroulante, choisissez GettingStartedClient, puis sélectionnez Exécuter ou appuyez sur F5.

Tester l’application à partir d’une invite de commandes

  1. Ouvrez une invite de commandes en tant qu’administrateur, puis accédez au répertoire de votre solution Visual Studio.

  2. Pour démarrer le service : entrez GettingStartedHost\bin\Debug\GettingStartedHost.exe.

  3. Pour démarrer le client : ouvrez une autre invite de commandes, accédez au répertoire de votre solution Visual Studio, puis entrez GettingStartedClient\bin\Debug\GettingStartedClient.exe.

    GettingStartedHost.exe produit la sortie suivante :

    The service is ready.
    Press <Enter> to terminate the service.
    
    Received Add(100,15.99)
    Return: 115.99
    Received Subtract(145,76.54)
    Return: 68.46
    Received Multiply(9,81.25)
    Return: 731.25
    Received Divide(22,7)
    Return: 3.14285714285714
    

    GettingStartedClient.exe produit la sortie suivante :

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

Étapes suivantes

Vous avez maintenant accompli toutes les tâches du tutoriel de prise en main de WCF. Dans ce didacticiel, vous avez appris à :

Dans ce tutoriel, vous allez apprendre à :

  • Ajouter du code pour utiliser le client WCF.
  • Tester le client WCF.

Si vous rencontrez des problèmes ou des erreurs dans le cadre de l’une des étapes, procédez de la manière décrite dans l’article sur la résolution des problèmes pour les résoudre.