Tutoriel : Créer un client Windows Communication FoundationTutorial: Create a Windows Communication Foundation client

Ce didacticiel décrit la quatrième des cinq tâches nécessaires à la création d’une application de base Windows Communication Foundation (WCF).This tutorial describes the fourth of five tasks required to create a basic Windows Communication Foundation (WCF) application. Pour obtenir une vue d’ensemble des didacticiels, consultez didacticiel : Prise en main des applicationsWindows Communication Foundation.For an overview of the tutorials, see Tutorial: Get started with Windows Communication Foundation applications.

La tâche suivante pour créer une application WCF consiste à créer un client en extrayant les métadonnées d’un service WCF.The next task for creating a WCF application is to create a client by retrieving metadata from a WCF service. 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.You use Visual Studio to add a service reference, which gets the metadata from the service’s MEX endpoint. Visual Studio génère ensuite un fichier de code source managé pour un proxy client dans le langage que vous avez choisi.Visual Studio then generates a managed source code file for a client proxy in the language you've chosen. Il crée également un fichier de configuration client (app. config).It also creates a client configuration file (App.config). Ce fichier permet à l’application cliente de se connecter au service au niveau d’un point de terminaison.This file enables the client application to connect to the service at an endpoint.

Notes

Si vous appelez un service WCF à partir d’un projet de bibliothèque de classes dans Visual Studio, utilisez la fonctionnalité Ajouter une référence de service pour générer automatiquement un proxy et un fichier de configuration associé.If you call a WCF service from a class library project in Visual Studio, use the Add Service Reference feature to automatically generate a proxy and associated configuration file. 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.However, because class library projects don't use this configuration file, you need to add the settings in the generated configuration file to the App.config file for the executable that calls the class library.

Notes

Vous pouvez également utiliser l' outil ServiceModel Metadata Utility au lieu de Visual Studio pour générer la classe proxy et le fichier de configuration.As an alternative, use the ServiceModel Metadata Utility tool instead of Visual Studio to generate the proxy class and configuration file.

L'application cliente utilise la classe proxy générée pour communiquer avec le service.The client application uses the generated proxy class to communicate with the service. Cette procédure est décrite dans le didacticiel : Utilisez un client.This procedure is described in Tutorial: Use a client.

Ce tutoriel vous montre comment effectuer les opérations suivantes :In this tutorial, you learn how to:

  • Créez et configurez un projet d’application console pour le client WCF.Create and configure a console app project for the WCF client.
  • Ajoutez une référence de service au service WCF pour générer la classe proxy et les fichiers de configuration.Add a service reference to the WCF service to generate the proxy class and configuration files.

Créer un client Windows Communication FoundationCreate a Windows Communication Foundation client

  1. Créez un projet d’application console dans Visual Studio :Create a console app project in Visual Studio:

    1. Dans le menu fichier , sélectionnez ouvrir > unprojet/une solution , puis accédez à la solution gettingstarted que vous avez créée précédemment (gettingstarted. sln).From the File menu, select Open > Project/Solution and browse to the GettingStarted solution you previously created (GettingStarted.sln). Sélectionnez Ouvrir.Select Open.

    2. Dans le menu affichage , sélectionnez Explorateur de solutions.From the View menu, select Solution Explorer.

    3. Dans la fenêtre Explorateur de solutions , sélectionnez la solution gettingstarted (nœud supérieur), puis sélectionnez Ajouter > un nouveau projet dans le menu contextuel.In the Solution Explorer window, select the GettingStarted solution (top node), and then select Add > New Project from the shortcut menu.

    4. Dans la fenêtre Ajouter un nouveau projet , sur le côté gauche, sélectionnez la catégorie Bureau Windows sous C# Visual ou Visual Basic.In the Add New Project window, on the left side, select the Windows Desktop category under Visual C# or Visual Basic.

    5. Sélectionnez le modèle application console (.NET Framework) , puis entrez GettingStartedClient pour le nom.Select the Console App (.NET Framework) template, and enter GettingStartedClient for the Name. Sélectionnez OK.Select OK.

  2. Ajoutez une référence dans le projet GettingStartedClient à l' System.ServiceModel assembly :Add a reference in the GettingStartedClient project to the System.ServiceModel assembly:

    1. Dans la fenêtre Explorateur de solutions , sélectionnez le dossier références sous le projet GettingStartedClient , puis sélectionnez Ajouter une référence dans le menu contextuel.In the Solution Explorer window, select the References folder under the GettingStartedClient project, and then select Add Reference from the shortcut menu.

    2. Dans la fenêtre Ajouter une référence , sous assemblys sur le côté gauche de la fenêtre, sélectionnez Framework.In the Add Reference window, under Assemblies on the left side of the window, select Framework.

    3. Recherchez et sélectionnez System. ServiceModel, puis choisissez OK.Find and select System.ServiceModel, and then choose OK.

    4. Enregistrez la solution en sélectionnant fichier > enregistrer tout.Save the solution by selecting File > Save All.

  3. Ajoutez une référence de service au service de calculatrice :Add a service reference to the calculator service:

    1. Dans la fenêtre Explorateur de solutions , sélectionnez le dossier références sous le projet GettingStartedClient , puis sélectionnez Ajouter une référence de service dans le menu contextuel.In the Solution Explorer window, select the References folder under the GettingStartedClient project, and then select Add Service Reference from the shortcut menu.

    2. Dans la fenêtre Ajouter une référence de service , sélectionnez découvrir.In the Add Service Reference window, select Discover.

      Le service CalculatorService démarre et Visual Studio l’affiche dans la zone services .The CalculatorService service starts and Visual Studio displays it in the Services box.

    3. Sélectionnez CalculatorService pour le développer et afficher les contrats de service implémentés par le service.Select CalculatorService to expand it and display the service contracts implemented by the service. Laissez l' espace de noms par défaut et choisissez OK.Leave the default Namespace and choose OK.

      Visual Studio ajoute un nouvel élément sous le dossier services connectés dans le projet GettingStartedClient .Visual Studio adds a new item under the Connected Services folder in the GettingStartedClient project.

Outil utilitaire de métadonnées ServiceModelServiceModel Metadata Utility tool

Les exemples suivants montrent comment utiliser l' outil ServiceModel Metadata Utility Tool (Svcutil. exe) pour générer le fichier de classe proxy.The following examples show how to optionally use the ServiceModel Metadata Utility tool (Svcutil.exe) to generate the proxy class file. Cet outil génère le fichier de classe proxy et le fichier app. config .This tool generates the proxy class file and the App.config file. Les exemples suivants montrent comment générer le proxy dans C# et Visual Basic, respectivement :The following examples show how to generate the proxy in C# and Visual Basic, respectively:

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 clientClient configuration file

Une fois le client créé, Visual Studio crée le fichier de configuration app. config dans le projet GettingStartedClient , qui doit ressembler à l’exemple suivant :After you've created the client, Visual Studio creates the App.config configuration file in the GettingStartedClient project, which should be similar to the following example:

    <?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 <> de point de terminaison .Under the <system.serviceModel> section, notice the <endpoint> element. L’élément de point de terminaison> définit le point de terminaison que le client utilise pour accéder au service comme suit : <The <endpoint> element defines the endpoint that the client uses to access the service as follows:

  • Adresse : http://localhost:8000/GettingStarted/CalculatorService.Address: http://localhost:8000/GettingStarted/CalculatorService. Adresse du point de terminaison.The address of the endpoint.
  • Contrat de service ServiceReference1.ICalculator:.Service contract: ServiceReference1.ICalculator. Le contrat de service gère la communication entre le client WCF et le service.The service contract handles communication between the WCF client and the service. Visual Studio a généré ce contrat lorsque vous avez utilisé sa fonction Ajouter une référence de service .Visual Studio generated this contract when you used its Add Service Reference function. Il s’agit essentiellement d’une copie du contrat que vous avez défini dans le projet GettingStartedLib.It's essentially a copy of the contract that you defined in the GettingStartedLib project.
  • Liaison : WSHttpBinding.Binding: WSHttpBinding. La liaison spécifie HTTP comme transport, la sécurité interopérable et d’autres détails de configuration.The binding specifies HTTP as the transport, interoperable security, and other configuration details.

Étapes suivantesNext steps

Dans ce tutoriel, vous avez appris à :In this tutorial, you learned how to:

  • Créez et configurez un projet d’application console pour le client WCF.Create and configure a console app project for the WCF client.
  • Ajoutez une référence de service au service WCF pour générer la classe proxy et les fichiers de configuration pour l’application cliente.Add a service reference to the WCF service to generate the proxy class and configuration files for the client application.

Passez au didacticiel suivant pour découvrir comment utiliser le client généré.Advance to the next tutorial to learn how to use the generated client.