Tutorial: Erstellen eines Windows Communication Foundation-ClientsTutorial: Create a Windows Communication Foundation client

In diesem Tutorial wird die vierte von fünf Schritte zur Erstellung einer grundlegenden Windows Communication Foundation (WCF)-Anwendung beschrieben.This tutorial describes the fourth of five tasks required to create a basic Windows Communication Foundation (WCF) application. Eine Übersicht über die Lernprogramme, finden Sie unter Lernprogramm: Erste Schritte mit Windows Communication Foundation-Anwendungen.For an overview of the tutorials, see Tutorial: Get started with Windows Communication Foundation applications.

Die nächste Aufgabe zum Erstellen einer WCF-Anwendung besteht, erstellen Sie einen Client vom Abrufen von Metadaten aus einem WCF-Dienst.The next task for creating a WCF application is to create a client by retrieving metadata from a WCF service. Verwenden Sie Visual Studio einen Dienstverweis hinzufügen, der Metadaten vom MEX-Endpunkt des Diensts erhält.You use Visual Studio to add a service reference, which gets the metadata from the service’s MEX endpoint. Visual Studio generiert dann eine verwaltete Quellcodedatei für einen Clientproxy in der Sprache, die Sie ausgewählt haben.Visual Studio then generates a managed source code file for a client proxy in the language you've chosen. Erstellt auch eine Clientkonfigurationsdatei ("App.config").It also creates a client configuration file (App.config). Diese Datei können die Clientanwendung eine Verbindung mit dem Dienst an einem Endpunkt herstellen.This file enables the client application to connect to the service at an endpoint.

Hinweis

Wenn Sie einen WCF-Dienst aus einem Klassenbibliotheksprojekt in Visual Studio aufrufen, verwenden Sie die Dienstverweis hinzufügen Funktion, um automatisch einen Proxy und eine zugeordnete Konfigurationsdatei zu generieren.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. Aber da Klassenbibliotheksprojekte diese Konfigurationsdatei nicht verwenden, müssen Sie die Einstellungen in der generierten Konfigurationsdatei zum Hinzufügen der "App.config" -Datei für die ausführbare Datei, die die Klassenbibliothek aufruft.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.

Hinweis

Verwenden Sie alternativ die ServiceModel Metadata Utility-Tool anstelle von Visual Studio, um den Proxycode und der Konfigurationsdatei zu generieren.As an alternative, use the ServiceModel Metadata Utility tool instead of Visual Studio to generate the proxy class and configuration file.

Die Clientanwendung verwendet die generierte Proxyklasse, um mit dem Dienst zu kommunizieren.The client application uses the generated proxy class to communicate with the service. Dieses Verfahren wird beschrieben, Lernprogramm: Verwenden Sie einen Client.This procedure is described in Tutorial: Use a client.

In diesem Tutorial lernen Sie, wie die folgenden Aufgaben ausgeführt werden:In this tutorial, you learn how to:

  • Erstellen Sie und konfigurieren Sie ein Konsolenanwendungsprojekt für den WCF-Client.Create and configure a console app project for the WCF client.
  • Fügen Sie einen Dienstverweis auf den WCF-Dienst, um den Proxy-Klasse und die Konfigurationsdateien zu generieren.Add a service reference to the WCF service to generate the proxy class and configuration files.

Erstellen eines Windows Communication Foundation-ClientsCreate a Windows Communication Foundation client

  1. Erstellen Sie ein Konsolenanwendungsprojekt in Visual Studio:Create a console app project in Visual Studio:

    1. Von der Datei , wählen Sie im Menü öffnen > Projekt/Projektmappe und navigieren Sie zu der GettingStarted Lösung Sie zuvor erstellt haben (GettingStarted.sln).From the File menu, select Open > Project/Solution and browse to the GettingStarted solution you previously created (GettingStarted.sln). Wählen Sie öffnen.Select Open.

    2. Von der Ansicht , wählen Sie im Menü Projektmappen-Explorer.From the View menu, select Solution Explorer.

    3. In der Projektmappen-Explorer wählen Sie im Fenster der GettingStarted -Lösung (obersten Knoten), und wählen Sie dann hinzufügen > neues Projekt aus dem Kontextmenü.In the Solution Explorer window, select the GettingStarted solution (top node), and then select Add > New Project from the shortcut menu.

    4. In der neues Projekt hinzufügen Fenster auf der linken Seite auf die Windows Desktop unter Kategorie Visual C# oder Visual Basic.In the Add New Project window, on the left side, select the Windows Desktop category under Visual C# or Visual Basic.

    5. Wählen Sie die Konsolen-App ((.NET Framework) Vorlage, und geben Sie "gettingstartedclient" für die Namen.Select the Console App (.NET Framework) template, and enter GettingStartedClient for the Name. Klicken Sie auf OK.Select OK.

  2. Fügen Sie einen Verweis in der "gettingstartedclient" Projekt die System.ServiceModel Assembly:Add a reference in the GettingStartedClient project to the System.ServiceModel assembly:

    1. In der Projektmappen-Explorer wählen Sie im Fenster der Verweise Ordner unter dem "gettingstartedclient" Projekt, und wählen Sie dann "Verweis hinzufügen" aus dem Kontextmenü.In the Solution Explorer window, select the References folder under the GettingStartedClient project, and then select Add Reference from the shortcut menu.

    2. In der Verweis hinzufügen Fenster unter Assemblys wählen Sie auf der linken Seite des Fensters Framework.In the Add Reference window, under Assemblies on the left side of the window, select Framework.

    3. Suchen und auswählen System.ServiceModel, und wählen Sie dann OK.Find and select System.ServiceModel, and then choose OK.

    4. Speichern Sie die Projektmappe durch Auswahl Datei > Alles speichern.Save the solution by selecting File > Save All.

  3. Fügen Sie einen Dienstverweis auf den rechnerdienst hinzu:Add a service reference to the calculator service:

    1. In der Projektmappen-Explorer wählen Sie im Fenster der Verweise Ordner unter dem "gettingstartedclient" Projekt, und wählen Sie dann Dienstverweis hinzufügen aus dem Kontextmenü.In the Solution Explorer window, select the References folder under the GettingStartedClient project, and then select Add Service Reference from the shortcut menu.

    2. In der Hinzufügen eines Dienstverweises wählen Sie im Fenster Discover.In the Add Service Reference window, select Discover.

      Der CalculatorService-Dienst gestartet wird und die Visual Studio wird in der Services Feld.The CalculatorService service starts and Visual Studio displays it in the Services box.

    3. Wählen Sie CalculatorService erweitern und die vom Dienst implementierten Dienstverträge anzuzeigen.Select CalculatorService to expand it and display the service contracts implemented by the service. Übernehmen Sie den Standardwert Namespace , und wählen Sie OK.Leave the default Namespace and choose OK.

      Visual Studio fügt ein neues Element mit dem verbundene Dienste Ordner in der "gettingstartedclient" Projekt.Visual Studio adds a new item under the Connected Services folder in the GettingStartedClient project.

ServiceModel Metadata Utility-toolServiceModel Metadata Utility tool

Die folgenden Beispiele zeigen, wie Sie optional die ServiceModel Metadata Utility-Tool (Svcutil.exe) die Proxy-Klassendatei zu generieren.The following examples show how to optionally use the ServiceModel Metadata Utility tool (Svcutil.exe) to generate the proxy class file. Dieses Tool generiert die proxyklassendatei und "App.config" Datei.This tool generates the proxy class file and the App.config file. Die folgenden Beispiele zeigen, wie Sie den Proxy in zu generieren C# und Visual Basic bzw.: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

ClientkonfigurationsdateiClient configuration file

Nachdem Sie den Client erstellt haben, erstellt Visual Studio die "App.config" Konfigurationsdatei in die "gettingstartedclient" -Projekt, das ähnlich wie im folgenden Beispiel werden soll: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>

Unter den <system.serviceModel > Abschnitt der <Endpunkt > Element.Under the <system.serviceModel> section, notice the <endpoint> element. Die <Endpunkt> -Element definiert den Endpunkt, den der Client verwendet wird, Zugriff auf den Dienst wie folgt: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. Die Adresse des Endpunkts.The address of the endpoint.
  • Servicevertrag: ServiceReference1.ICalculator.Service contract: ServiceReference1.ICalculator. Die Dienstvertrag verarbeitet die Kommunikation zwischen dem WCF-Client und dem Dienst.The service contract handles communication between the WCF client and the service. Visual Studio generiert diesen Vertrag aus, wenn Sie verwendet die Hinzufügen eines Dienstverweises Funktion.Visual Studio generated this contract when you used its Add Service Reference function. Es ist im Wesentlichen eine Kopie des Vertrags, die Sie im GettingStartedLib-Projekt definiert.It's essentially a copy of the contract that you defined in the GettingStartedLib project.
  • Bindung: WSHttpBinding.Binding: WSHttpBinding. Die Bindung gibt HTTP als Transport, interoperable Sicherheit und andere Einzelheiten der Konfiguration an.The binding specifies HTTP as the transport, interoperable security, and other configuration details.

Nächste SchritteNext steps

In diesem Tutorial haben Sie gelernt, wie die folgenden Aufgaben ausgeführt werden:In this tutorial, you learned how to:

  • Erstellen Sie und konfigurieren Sie ein Konsolenanwendungsprojekt für den WCF-Client.Create and configure a console app project for the WCF client.
  • Fügen Sie einen Dienstverweis auf den WCF-Dienst, um die Proxy-Klasse und die Konfigurationsdateien für die Clientanwendung zu generieren.Add a service reference to the WCF service to generate the proxy class and configuration files for the client application.

Fahren Sie fort mit dem nächsten Tutorial erfahren, wie den generierten Client verwendet werden soll.Advance to the next tutorial to learn how to use the generated client.