Comment : créer un client Windows Communication Foundation
Il s'agit de la quatrième des six tâches requises pour créer un service Windows Communication Foundation (WCF) de base et un client pouvant appeler le service. Pour disposer d'une vue d'ensemble des six tâches, consultez la rubrique Didacticiel de mise en route.
Cette rubrique décrit comment extraire les métadonnées d'un service WCF et les utiliser pour créer un proxy WCF qui peut accéder au service. Cette tâche est effectuée à l'aide de l'ServiceModel Metadata Utility Tool (Svcutil.exe) fourni par WCF. Cet outil obtient les métadonnées du service et génère un fichier de code source managé pour un proxy dans le langage que vous avez choisi. L'outil crée non seulement le proxy client, mais également le fichier de configuration pour le client qui permet à l'application cliente de se connecter au service au niveau de l'un de ses points de terminaison.
L'application cliente utilise le proxy généré pour créer un objet client WCF. Cette procédure est décrite dans la rubrique Comment : utiliser un client Windows Communication Foundation.
Le code du client généré par cette tâche est fourni dans l'exemple qui suit la procédure.
Pour créer un client Windows Communication Foundation
Créez un projet dans la solution actuelle pour le client dans Visual Studio 2008 en procédant comme suit :
- Dans l'Explorateur de solutions (qui se trouve dans la partie supérieure droite) dans la même solution contenant le service, cliquez avec le bouton droit sur la solution actuelle (pas sur le projet), puis sélectionnez successivement Ajouter et Nouveau projet.
- Dans la boîte de dialogue Ajouter un nouveau projet, sélectionnez Visual Basic ou Visual C#, choisissez le modèle Application console et nommez-le Client. Utilisez l'emplacement par défaut.
- Cliquez sur OK.
Ajoutez une référence à System.ServiceModel.dll pour le projet :
- Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier References sous le projet Client, puis sélectionnez Ajouter une référence.
- Sélectionnez l'onglet Récent et sélectionnez System.ServiceModel.dll dans la zone de liste, puis cliquez sur OK. Parce que vous avez déjà ajouté une référence à cet assembly pendant la première étape de ce didacticiel, celui-ci figure dans l'onglet Récent. Si vous ne le voyez pas dans l'onglet Récent, sélectionner l'onglet Parcourir et C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation, puis sélectionnez l'assembly à partir de là.
Remarque : Lorsque vous utilisez un compilateur de ligne de commande (par exemple, Csc.exe ou Vbc.exe), vous devez également indiquer le chemin d'accès aux assemblys. Par défaut, sur un ordinateur qui exécute Windows Vista, par exemple, le chemin d'accès est : Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation. Ajoutez une instruction using (Imports dans Visual Basic) pour l'espace de noms System.ServiceModel dans le fichier Program.cs ou Program.vb généré.
Imports System.ServiceModel;
using System.ServiceModel;
Démarrez le service créé lors des étapes précédentes. Pour plus d'informations, consultez Comment : héberger et exécuter un service Windows Communication Foundation de base.
Exécutez le Service Model Metadata Utility Tool (SvcUtil.exe) avec les commutateurs appropriés pour créer le code client et un fichier de configuration en procédant comme suit :
Démarrez une session console Kit de développement logiciel Windows en sélectionnant Environnement de commande sous l'entrée Kit de développement Microsoft Windows dans le menu Démarrer.
Accédez au répertoire où vous souhaitez placer le code client. Si vous avez créé le projet Client en utilisant la valeur par défaut, le répertoire est C:\Users\<nom_utilisateur>\Documents\Visual Studio 2005\Projects\Service\Client.
Utilisez l'outil de ligne de commande Service Model Metadata Utility Tool (SvcUtil.exe) avec les commutateurs appropriés pour créer le code client. L'exemple suivant génère un fichier de code et un fichier de configuration pour le service.
[Visual Basic]svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config https://localhost:8000/ServiceModelSamples/service
[C#]
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config https://localhost:8000/ServiceModelSamples/service
Par défaut, le code proxy client est généré dans un fichier nommé d'après le service (dans ce cas, par exemple, CalculatorService.cs ou CalculatorService.vb, l'extension étant appropriée au langage de programmation : .vb pour Visual Basic ou .cs pour C#). Le commutateur /out remplace le nom du fichier de proxy client par generatedProxy.cs. Le commutateur /config remplace par app.config le nom du fichier de configuration client par défaut output.config. Notez que ces deux fichiers sont générés dans le répertoire C:\Users\<nom_utilisateur>\Documents\Visual Studio 2005\Projects\Service\Client.
Ajoutez le proxy généré au projet Client dans Visual Studio, cliquez avec le bouton droit sur ce projet dans l'Explorateur de solutions, puis sélectionnez successivement Ajouter et Élément Existant. Sélectionnez le fichier generatedProxy.cs généré à l'étape précédente.
Exemple
Cet exemple présente le code client généré par le Service Model Metadata Utility Tool (Svcutil.exe).
Vous avez créé un client Windows Communication Foundation (WCF). Poursuivez avec Comment : configurer un client Windows Communication Foundation de base pour configurer le client. Pour obtenir des informations de dépannage, consultez Dépannage du didacticiel de mise en route.
Voir aussi
Tâches
Comment : publier les métadonnées d'un service à l'aide d'un fichier de configuration
Comment : utiliser Svcutil.exe pour télécharger des documents de métadonnées
Autres ressources
Service Model Metadata Utility Tool (Svcutil.exe)
Getting Started Sample
Self-Host