Partager via


Tutoriel : Créer un client Windows Communication Foundation

Ce tutoriel décrit les quatre premières 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.

La tâche suivante de création d’une application WCF consiste à créer un client en récupérant les métadonnées d’un service WCF. Vous utilisez Visual Studio pour ajouter une référence de service, qui obtient les métadonnées du point de terminaison MEX du service. Visual Studio génère ensuite un fichier de code source managé pour un proxy client dans la langue que vous avez choisie. Il crée également un fichier de configuration client (App.config). Ce fichier permet à l’application cliente de se connecter au service à un point de terminaison.

Notes

Si vous appelez un service WCF à partir d’un projet de bibliothèque de classes dans Visual Studio, utilisez la fonction Ajouter une référence de service pour générer automatiquement un proxy et le fichier de configuration associé. Toutefois, étant donné que les projets de bibliothèque de classes n’utilisent pas ce fichier de configuration, vous devez ajouter les paramètres dans le fichier de configuration généré au fichier App.config pour l’exécutable qui appelle la bibliothèque de classes.

Notes

En guise d’alternative, utilisez l’outil ServiceModel Metadata Utility au lieu de Visual Studio pour générer la classe proxy et le fichier de configuration.

L'application cliente utilise la classe proxy générée pour communiquer avec le service. Cette procédure est décrite dans Tutoriel : Utiliser un client.

Dans ce tutoriel, vous allez apprendre à :

  • Créez et configurez un projet d’application console pour le client WCF.
  • Ajoutez une référence de service au service WCF pour générer la classe proxy et les fichiers de configuration.

Créer un client Windows Communication Foundation

  1. Créez un projet d’application console dans Visual Studio :

    1. Dans le menu Fichier, sélectionnez Ouvrir>Projet/solution, puis accédez à la solution GettingStarted que vous avez créée précédemment (GettingStarted.sln). Sélectionnez Ouvrir.

    2. Dans le menu Affichage, sélectionnez Explorateur de solutions.

    3. Dans la fenêtre Explorateur de solutions, sélectionnez la solution GettingStarted (nœud supérieur), puis, dans le menu contextuel, sélectionnez Ajouter>Nouveau projet.

    4. Dans la fenêtre Ajouter un nouveau projet, sur le côté gauche, sous Visual C# ou Visual Basic, sélectionnez la catégorie Bureau Windows.

    5. Sélectionnez le modèle Application console (.NET Framework), puis, pour le Nom, entrez GettingStartedClient. Sélectionnez OK.

  2. Ajoutez dans le projet GettingStartedClient une référence à l’assembly System.ServiceModel :

    1. Dans la fenêtre Explorateur de solutions, sous le projet GettingStartedClient, sélectionnez le dossier Références, puis, dans le menu contextuel, sélectionnez Ajouter une référence.

    2. Dans la fenêtre Ajouter une référence, sous Assemblys sur le côté gauche de la fenêtre, sélectionnez Infrastructure.

    3. Recherchez et sélectionnez System.ServiceModel, puis choisissez OK.

    4. Enregistrez la solution en sélectionnant Fichier>Enregistrer tout.

  3. Ajoutez une référence de service au service Calculator :

    1. Dans la fenêtre Explorateur de solutions, sous le projet GettingStartedClient, sélectionnez le dossier Références, puis, dans le menu contextuel, sélectionnez Ajouter une référence de service.

    2. Dans la fenêtre Ajouter une référence de service, sélectionnez Découvrir.

      Le service CalculatorService démarre et Visual Studio l’affiche dans la zone Services.

    3. Sélectionnez CalculatorService pour le développer et afficher les contrats de service implémentés par le service. Laissez l’Espace de noms par défaut et choisissez OK.

      Visual Studio ajoute un nouvel élément sous le dossier Services connectés dans le projet GettingStartedClient.

Outil Service Model Metadata Tool

Les exemples suivants montrent comment utiliser éventuellement l’outil ServiceModel Metadata Utility (Svcutil.exe) pour générer le fichier de classe proxy. Cet outil génère le fichier de classe proxy et le fichier App.config. Les exemples suivants montrent comment générer le proxy en C# et Visual Basic, respectivement :

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/GettingStarted/CalculatorService
svcutil.exe /language:vb /out:generatedProxy.vb /config:app.config http://localhost:8000/GettingStarted/CalculatorService

Fichier de configuration du client

Une fois que vous avez créé le client, Visual Studio crée le fichier de configuration App.config dans le projet GettingStartedClient, qui doit être similaire à l’exemple suivant :

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup>
            <!-- specifies the version of WCF to use-->
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
        </startup>
        <system.serviceModel>
            <bindings>
                <!-- Uses wsHttpBinding-->
                <wsHttpBinding>
                    <binding name="WSHttpBinding_ICalculator" />
                </wsHttpBinding>
            </bindings>
            <client>
                <!-- specifies the endpoint to use when calling the service -->
                <endpoint address="http://localhost:8000/GettingStarted/CalculatorService"
                    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_ICalculator"
                    contract="ServiceReference1.ICalculator" name="WSHttpBinding_ICalculator">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
            </client>
        </system.serviceModel>
    </configuration>

Dans la section <system.serviceModel>, notez l’élément <endpoint>. L’élément <endpoint> définit le point de terminaison que le client utilise pour accéder au service comme suit :

  • Adresse : http://localhost:8000/GettingStarted/CalculatorService. Adresse du point de terminaison.
  • Contrat de service : ServiceReference1.ICalculator. Le contrat de service gère la communication entre le client WCF et le service. Visual Studio a généré ce contrat lorsque vous avez utilisé sa fonction Ajouter une référence de service. Il s’agit essentiellement d’une copie du contrat que vous avez défini dans le projet GettingStartedLib.
  • Liaison : WSHttpBinding. La liaison spécifie le protocole HTTP pour le transport, la sécurité interopérable et d’autres détails de configuration.

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • Créez et configurez un projet d’application console pour le client WCF.
  • Ajoutez une référence de service au service WCF pour générer la classe proxy et les fichiers de configuration de l’application cliente.

Passez au didacticiel suivant pour apprendre à utiliser le client généré.