Gewusst wie: Erstellen eines Windows Communication Foundation-Clients

Dies ist die vierte von sechs Aufgaben, die zum Erstellen eines grundlegenden Windows Communication Foundation (WCF)-Diensts und eines Clients, der den Dienst aufrufen kann, erforderlich sind. Eine Übersicht über alle sechs Aufgaben finden Sie im Thema Lernprogramm "Erste Schritte".

In diesem Thema wird beschrieben, wie Metadaten von einem WCF-Dienst abgerufen und dafür verwendet werden können, einen WCF-Clientproxy zu erstellen, der auf den Dienst zugreifen kann. Für diese Aufgabe wird das ServiceModel Metadata Utility Tool (Svcutil.exe) verwendet, das von WCF bereitgestellt wird. Dieses Tool ruft die Metadaten vom Dienst ab und generiert eine verwaltete Quellcodedatei für einen Proxy in der von Ihnen verwendeten Sprache. Zusätzlich zu dem Clientproxy erstellt das Tool auch eine Konfigurationsdatei für den Client, die es der Clientanwendung ermöglicht, über einen ihrer Endpunkte eine Verbindung zu dem Dienst herzustellen.

Die Clientanwendung verwendet den generierten Proxy, um ein WCF-Clientobjekt zu erstellen. Dieses Verfahren wird unter Gewusst wie: Verwenden eines Windows Communication Foundation-Clients beschrieben.

Der Code für den von dieser Aufgabe generierten Client wird in dem Beispiel bereitgestellt, das dem Verfahren folgt.

So erstellen Sie einen Windows Communication Foundation-Client

  1. Erstellen Sie in ein neues Projekt innerhalb der aktuellen Projektmappe für den Client, indem Sie die folgenden Schritte ausführen:

    1. Klicken Sie im Projektmappen-Explorer (rechts oben) in der Projektmappe, die auch den Dienst enthält, mit der rechten Maustaste auf die aktuelle Projektmappe (nicht auf das Projekt), und wählen Sie die Option Hinzufügen und anschließend Neues Projekt aus.
    2. Wählen Sie im Dialogfeld Neues Projekt Visual Basic oder Visual C#, wählen Sie die Vorlage Konsolenanwendung, und nennen Sie das Projekt Client. Verwenden Sie den vorgeschlagenen Speicherort.
    3. Klicken Sie auf OK.
  2. Fügen Sie für das Projekt einen Verweis auf die System.ServiceModel.dll -Datei hinzu:

    1. Klicken Sie im Projektmappen-Explorer unter dem Projekt Client auf den Ordner Verweise, und wählen Sie die Option Verweis hinzufügen.
    2. Klicken Sie auf die Registerkarte Aktuell, wählen Sie in der Liste die Datei System.ServiceModel.dll aus, und klicken Sie anschließend auf OK. Da dieser Assembly bereits im ersten Schritt dieses Lernprogramms ein Verweis hinzugefügt wurde, wird dieser nun auf der Registerkarte Aktuell angezeigt. Wird der Verweis nicht auf der Registerkarte Aktuell angezeigt, klicken Sie auf die Registerkarte Durchsuchen, navigieren Sie zu "C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation", und wählen Sie die Assembly dort aus.

    Tipp

    Wenn Sie einen Befehlszeilencompiler verwenden (beispielsweise Csc.exe oder Vbc.exe), müssen Sie auch den Pfad zu den Assemblys angeben. Standardmäßig lautet auf einem Computer, auf dem Windows Vista ausgeführt wird, der Pfad: Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.

  3. Fügen Sie in der generierten Program.cs- oder Program.vb-Datei für den System.ServiceModel-Namespace eine using-Anweisung (Imports in Visual Basic) hinzu.

    Imports System.ServiceModel;
    
    using System.ServiceModel;
    
  4. Starten Sie den in den vorherigen Schritten erstellten Dienst. Weitere Informationen finden Sie unter Gewusst wie: Hosten und Ausführen eines grundlegenden Windows Communication Foundation-Diensts.

  5. Starten Sie das Service Model Metadata Utility Tool (SvcUtil.exe) mit den entsprechenden Schaltern zur Erstellung des Clientcode und einer Konfigurationsdatei, indem Sie die folgenden Schritte ausführen:

    1. Starten Sie eine Windows SDK-Konsolensitzung, indem Sie im Menü Start auf unter dem Eintrag Microsoft Windows SDK die Option CMD Shell auswählen.

    2. Wechseln Sie in das Verzeichnis, in das Sie den Clientcode platzieren möchten. Haben Sie Ihr Clientprojekt mit den Standardeinstellungen erstellt, lautet das Verzeichnis "C:\Benutzer\<Benutzername>\Eigene Dateien\Visual Studio 2005\Projects\Service\Client".

    3. Verwenden Sie das Befehlszeilentool Service Model Metadata Utility Tool (SvcUtil.exe) mit den entsprechenden Schaltern, um den Clientcode zu erstellen. Im folgenden Beispiel werden eine Code- und eine Konfigurationsdatei für den Dienst erstellt:
      [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
      

      Standardmäßig wird der Proxycode in einer Datei generiert, die nach dem Dienst benannt ist (in diesem Fall z. B. CalculatorService.cs oder CalculatorService.vb, wobei die Erweiterung der Programmiersprache entspricht: .vb für Visual Basic oder .cs für C#). Der verwendete /out-Schalter ändert den Namen der Clientproxydatei zu "generatedProxy.cs". Der /config-Schalter ändert den Standardnamen "output.config" der Clientkonfigurationsdatei zu "app.config". Beachten Sie, dass diese beiden Dateien im Verzeichnis "C:\Benutzer\<Benutzername>\Eigene Dateien\Visual Studio 2005\Projects\Service\Client" erstellt werden.

  6. Fügen Sie in Visual Studio den generierten Proxy dem Clientprojekt hinzu, indem Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Clientprojekt klicken und anschließend auf Hinzufügen und dann auf Vorhandenes Element klicken. Wählen Sie die im vorangehenden Schritt generierte generatedProxy.cs-Datei aus.

Beispiel

In diesem Beispiel wird der von Service Model Metadata Utility Tool (Svcutil.exe) generierte Clientcode gezeigt.

Sie haben nun einen Windows Communication Foundation (WCF)-Client erstellt. Fahren Sie mit Gewusst wie: Konfigurieren eines grundlegenden Windows Communication Foundation-Clients fort, um den Client zu konfigurieren. Informationen zur Problembehandlung finden Sie unter Problembehandlung für das Lernprogramm "Erste Schritte".

Siehe auch

Aufgaben

Gewusst wie: Veröffentlichen von Metadaten für einen Dienst mithilfe einer Konfigurationsdatei
Gewusst wie: Verwenden von Svcutil.exe zum Herunterladen von Metadatendokumenten

Weitere Ressourcen

Service Model Metadata Utility Tool (Svcutil.exe)
Getting Started Sample
Self-Host