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
Enregistrez et générez la solution.
Sélectionnez le dossier GettingStartedLib, puis Définir comme projet de démarrage dans le menu contextuel.
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
Ouvrez une invite de commandes en tant qu’administrateur, puis accédez au répertoire de votre solution Visual Studio.
Pour démarrer le service : entrez GettingStartedHost\bin\Debug\GettingStartedHost.exe.
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.