Freigeben über


WCF-Testclient (WcfTestClient.exe)

Windows Communication Foundation (WCF) Test Client (WcfTestClient.exe) ist ein GUI-Tool, mit dem Benutzer Parameter eingeben, diese Eingabe an den Dienst übermitteln und die Antwort anzeigen können, die der Dienst zurücksendet. Sie bietet eine nahtlose Diensttesterfahrung in Kombination mit WCF-Diensthost.

In der Regel finden Sie den WCF-Testclient (WcfTestClient.exe) am folgenden Pfad: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE - Community kann eine von "Enterprise", "Professional" oder "Community" sein, je nachdem, welche Visual Studio-Version installiert ist.

Szenarien für die Verwendung des Testclients

In den folgenden Abschnitten werden die am häufigsten verwendeten Szenarien erläutert, in denen Sie wcf Test Client verwenden können, um den Entwicklungsprozess zu optimieren.

Im Inneren von Visual Studio

WCF-Diensthost startet WCF-Testclient mit einem einzelnen Dienst

Nachdem Sie ein neues WCF-Dienstprojekt erstellt und F5 zum Starten des Debuggers drücken, beginnt der WCF-Diensthost mit dem Hosten des Diensts in Ihrem Projekt. Anschließend wird WCF Test Client geöffnet und zeigt eine Liste der in der Konfigurationsdatei definierten Dienstendpunkte an. Sie können die Parameter testen und den Dienst aufrufen und diesen Prozess wiederholen, um Ihren Dienst kontinuierlich zu testen und zu überprüfen.

WCF-Diensthost startet WCF-Testclient mit mehreren Diensten

Sie können auch WCF Test Client verwenden, um ein Dienstprojekt zu debuggen, das mehrere Dienste enthält. Wenn WCF Test Client geöffnet wird, durchläuft er automatisch die Liste der Dienste in Ihrem Projekt und öffnet sie zum Testen.

Außerhalb von Visual Studio

Sie können auch den WCF-Testclient (WcfTestClient.exe) außerhalb von Visual Studio aufrufen, um einen beliebigen Dienst im Internet zu testen. Um das Tool zu finden, wechseln Sie zum folgenden Speicherort:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (wobei community eine von "Enterprise", "Professional" oder "Community" sein kann, je nachdem, auf welcher Ebene von Visual Studio auf dem Computer installiert ist)

Um das Tool zu verwenden, doppelklicken Sie auf den Dateinamen, um ihn von diesem Speicherort aus zu öffnen, oder starten Sie ihn über eine Befehlszeile.

WCF Test Client akzeptiert eine beliebige Anzahl von URIs als Befehlszeilenargumente. Dies sind die URIs von Diensten, die getestet werden können.

wcfTestClient.exe URI1 URI2 …

Klicken Sie nach dem Öffnen des WCF-Testclientfensters auf ">", und geben Sie die Endpunktadresse des Diensts ein, den Sie öffnen möchten.

WCF-Testclient-Benutzeroberfläche

Sie können WCF Test Client mit einem einzelnen Dienst oder mehreren Diensten verwenden.

Dienstvorgänge

Im linken Bereich des Hauptfensters des WCF-Testclients werden alle verfügbaren Dienste zusammen mit den jeweiligen Endpunkten und Vorgängen aufgelistet.

Wenn Sie auf einen Vorgang doppelklicken, können Sie dessen Inhalt im rechten Bereich innerhalb einer neuen Registerkarte mit dem Namen des Vorgangs anzeigen.

Im linken Bereich werden auch Clientkonfigurationsdateien aufgeführt. Doppelklicken Sie auf eines der Elemente, um den Inhalt der Datei in einem neuen Registerkartenfenster im rechten Bereich anzuzeigen.

Eingeben von Testparametern

Um die Testparameter anzuzeigen, doppelklicken Sie auf einen Vorgang, um ihn im rechten Bereich zu öffnen. Die Parameter werden standardmäßig in der formatierten Ansicht angezeigt, und Sie können beliebige Werte für die Parameter eingeben, um den Dienst zu testen.

Um die XML-Datei der Nachricht anzuzeigen, klicken Sie auf XML. Klicken Sie auf "Aufrufen", um sie an den Dienst zu senden.

Klicken Sie für einen DataSet-Parameter auf die Schaltfläche ... , neben 'Bearbeiten...' , um ihn in einem neuen Fenster mit dem DataGrid zu bearbeiten. Beachten Sie die Darstellung der Schaltflächen " DataSet kopieren " und " DataSet einfügen ". Wenn das Schema des DataSet-Objekts beim ersten Bearbeiten unbekannt ist, ist das DataGrid leer. Sie müssen ein DataSet-Objekt mit demselben Schema in das aktuelle Objekt im DataGrid einfügen. (Beachten Sie, dass Sie das Schema an einer anderen Stelle vor dem Einfügevorgang kopieren müssen.) Sie können ein Datasetobjekt auch für die zukünftige Verwendung kopieren, indem Sie auf die Schaltfläche "DataSet kopieren " klicken.

Die Antwort des Diensts wird unterhalb der Testparameter angezeigt.

Hinweis

Wenn der erwartete Rückgabewert eine Zeichenfolge ist, wird das Ergebnis als anführungszeichenierte Zeichenfolge angezeigt, obwohl die angegebene Eingabe nicht in Anführungszeichen enthalten war.

Wenn Sie beim Erstellen des Vertrags für den Dienst einen bestimmten Vorgang als unidirektionale Operation angegeben haben, wird keine Dienstantwort angezeigt. Sobald die Nachricht für die Zustellung in die Warteschlange gestellt wird, wird ein Dialogfeld angezeigt, um Sie darüber zu informieren, dass die Nachricht erfolgreich gesendet wurde.

Sitzungsunterstützung

Mit dem Kontrollkästchen "Neues Proxy starten" auf der Registerkarte eines Dienstvorgangs können Sie die Sitzungsunterstützung umschalten. Dieses Feld ist standardmäßig deaktiviert.

Wenn Sie Testparameter für einen bestimmten Vorgang (oder einen anderen Vorgang im selben Dienstendpunkt) eingeben und mehrmals auf "Aufrufen " klicken, wobei das Kontrollkästchen deaktiviert ist, verwenden diese Vorgänge einen Proxy, und der Dienststatus wird für mehrere Vorgänge beibehalten.

Wenn das Kontrollkästchen " Neues Proxy starten " aktiviert ist, wird für jeden Aufruf ein neuer Proxy gestartet, das vorherige Sitzungsszenario beendet und der Dienststatus wird zurückgesetzt.

Bearbeiten der Clientkonfiguration

Im linken Bereich des Hauptfensters des WCF-Testclients werden Clientkonfigurationsdateien aufgelistet. Doppelklicken Sie auf eines der Elemente, um den Inhalt der Datei im rechten Bereich anzuzeigen.

Mit Dem Dienstkonfigurations-Editor bearbeiten

Klicken Sie im linken Bereich mit der rechten Maustaste auf "Konfigurationsdatei ", und wählen Sie das Kontextmenü "Mit SvcConfigEditor bearbeiten" aus. Der Dienstkonfigurations-Editor wird mit dem Clientkonfigurationsinhalt gestartet. Sie können die Konfiguration bearbeiten und im Tool speichern.

Nach dem Speichern der Datei im Dienstkonfigurations-Editor zeigt DER WCF-Testclient eine Warnmeldung an, um Sie darüber zu informieren, dass die Datei außerhalb geändert wurde und fragt, ob Sie sie erneut laden möchten.

Wenn Sie "Ja" auswählen, spiegelt der Konfigurationsinhalt auf der Registerkarte "Client.dll.config" die Änderungen wider, die Sie im Editor vorgenommen haben.

Wenn Sie "Nein" auswählen, bleibt der Konfigurationsinhalt auf der Registerkarte "Client.dll.config" unverändert, und der geänderte Inhalt wird automatisch in der Quelldatei gespeichert.

Wiederherstellen der Standardkonfiguration

Wenn Sie alle Änderungen abbrechen und die Standardclientkonfiguration wiederherstellen möchten, klicken Sie im linken Bereich mit der rechten Maustaste auf "Konfigurationsdatei" , und wählen Sie das Kontextmenü "In Standardkonfiguration wiederherstellen" aus. Der Standardkonfigurationswert wird geladen, und der Inhalt in der Registerkarte "Client.dll.config" wird wiederhergestellt.

Überprüfen von Änderungen

Wenn gespeicherte Änderungen im WCF-Testclient geladen werden, wird die Konfiguration auf Gültigkeit im WCF-Schema überprüft. Wenn Fehler gefunden werden, wird ein Dialogfeld angezeigt, um Fehlerdetails anzuzeigen.

Während der Proxygenerierung, binären Kompilierung oder Dienstaufruf werden Menüelemente deaktiviert, die die Bearbeitung unterstützen (d. h. "Bearbeiten …", "Wiederherstellen …" usw.). Der Dienstaufruf wird auch beim Laden der aktualisierten Konfiguration auf den WCF-Testclient deaktiviert.

Clientkonfiguration beibehalten

Die Registerkarte "Tools->Optionen->Client-Konfiguration" enthält die Option "Konfiguration beim Start von Diensten immer neu generieren", die standardmäßig aktiviert ist. Diese Option gibt an, dass jedes Mal, wenn WCF Test Client einen Dienst lädt, eine Konfigurationsdatei basierend auf dem neuesten Dienstvertrag und dienst App.config Dateien neu generiert.

Wenn Sie die Clientkonfiguration für Ihren WCF-Dienst bearbeitet haben und diese aktualisierte Datei immer zum Debuggen des Diensts verwenden möchten, können Sie die Option " Neu generieren " deaktivieren. Selbst wenn Sie den Dienst aktualisieren und WCF Test Client erneut öffnen, ist die Client.dll.config Datei die Datei, die Sie zuvor aktualisiert haben, anstatt eine neu generierte Datei basierend auf dem aktualisierten Dienst zu erstellen.

Möglicherweise müssen Sie die Konfigurationsdatei jedoch bearbeiten, damit sie mit dem neu generierten Proxy konsistent ist. Wenn die neu generierte Proxy- und Konfigurationsdatei aufgrund eines aktualisierten Diensts nicht übereinstimmen, treten Fehler auf, wenn der Dienst aufgerufen wird.

Vorsicht

Wenn Sie die Clientkonfigurationsdatei geändert haben und diese in Zukunft wiederverwenden möchten, finden Sie die Datei am folgenden Speicherort:

\Dokumente und Einstellungen\[Benutzerkonto]\Meine Dokumente\Clientprojekte testen.

Alle aktualisierten Anmeldeinformationen, die in der Clientkonfigurationsdatei gespeichert sind, werden durch die Zugriffssteuerungsliste (Access Control List, ACL) dieses Ordners geschützt.

Hinzufügen, Entfernen und Aktualisieren von Diensten

Dienst hinzufügen

Klicken Sie auf "Datei->", um einen Dienst zum WCF-Testclient hinzuzufügen. Anschließend müssen Sie die URI (Endpunktadresse) des Dienstes, den Sie hinzufügen möchten, eingeben. Die Adresse des Diensts kann eine mex-Adresse oder eine WSDL-Adresse sein.

Sie finden auch eine Liste von 10 zuletzt hinzugefügten Dienstendpunkten im Untermenü "Zuletzt verwendete Dienste ". Wenn Sie einen davon auswählen, wird der angegebene Dienst dem WCF-Testclient hinzugefügt.

Sie können auch mit der rechten Maustaste auf den Stamm der Dienststruktur "Meine Dienstprojekte" klicken und "Dienst hinzufügen" auswählen, um dasselbe Ergebnis zu erzielen.

Während der Proxygenerierung, der binären Kompilierung oder des Dienstaufrufs werden Menüelemente, die das Hinzufügen eines Dienstes unterstützen, deaktiviert. Der Dienstaufruf ist ebenfalls deaktiviert.

Dienst entfernen

Klicken Sie mit der rechten Maustaste auf den Dienststamm des zu entfernenden Diensts, und wählen Sie "Dienst entfernen" aus, um einen Dienst aus dem WCF-Testclient zu entfernen.

Während der Proxygenerierung, der binären Kompilierung oder des Dienstaufrufs werden Menüelemente, die das Entfernen eines Diensts unterstützen, deaktiviert. Der Dienstaufruf ist ebenfalls deaktiviert.

Dienst aktualisieren

Wenn beim Ausführen des WCF-Testclients eine Änderung am Dienst vorgenommen wird und Sie sicherstellen möchten, dass die WCF-Testclientimplementierung für diesen Dienst up-to-datum ist, klicken Sie mit der rechten Maustaste auf den Dienststamm des Diensts, und wählen Sie "Dienst aktualisieren" aus. Beachten Sie, dass nach dem Aktualisieren der Dienststatus zurückgesetzt wird.

Während der Proxygenerierung, der binären Kompilierung oder des Dienstaufrufs werden Menüelemente, die das Aktualisieren eines Diensts unterstützen, deaktiviert. Der Dienstaufruf ist ebenfalls deaktiviert.

Speicherort der vom Testclient generierten Dateien

Standardmäßig speichert WCF Test Client generierte Clientcode- und Konfigurationsdateien im Ordner "%appdata%\Local\temp\Test Client Projects". Dieser Ordner wird gelöscht, nachdem der WCF-Testclient beendet wurde. Wenn eine Konfigurationsdatei im WCF Test Client geändert wird und die Option Immer neu generieren beim Starten von Diensten deaktiviert ist, wird die geänderte Datei in den Ordner "CachedConfig" unter "My Documents\Test Client Projects" mit einer XML-Zuordnungsdatei (Metadatenadresse-zu-Dateiname) als Index kopiert.

Sie können den WCF-Testclient auch in einer Befehlszeile starten, mit der /ProjectPath Option einen neuen gewünschten Pfad zum Speichern generierter Dateien angeben oder den /RestoreProjectPath Switch verwenden, um den Standardspeicherort wiederherzustellen. Die Syntax lautet wie folgt:

wcfTestClient.exe /ProjectPath [desired location]

Wenn Sie diesen Befehl ausführen, wird der WCF-Testclient nicht geöffnet. Nur der Ordnerspeicherort wird geändert. Sie können diesen Befehl ausführen, unabhängig davon, ob der WCF-Testclient ausgeführt wird. Der neue Standort wird angewendet, wenn der WCF-Testclient neu gestartet wird. Die Speicherortinformationen können in der Registrierung oder in der WcfTestClient.exeOptionsdatei im Ordner "%appdata%\Local\temp\Test Client Projects" gespeichert werden.

Vom WCF-Testclient unterstützte Features

Nachfolgend finden Sie eine Liste der Features, die von WCF Test Client unterstützt werden:

  • Dienstaufruf: Anforderung/Antwort und unidirektionale Nachricht.

  • Bindungen: alle von Svcutil.exe unterstützten Bindungen.

  • Sitzungssteuerung

  • Nachrichtenvertrag.

  • XML-Serialisierung.

Nachfolgend finden Sie eine Liste der Features, die vom WCF-Testclient nicht unterstützt werden:

Schließen des WCF-Testclients

Sie können DEN WCF-Testclient wie folgt schließen:

  • Klicken Sie im Menü "Datei " auf "Beenden". Klicken Sie alternativ im Hauptfenster des WCF-Testclients auf "Schließen". Beide Aktionen beenden auch den Autohost des WCF-Diensts und beenden den Visual Studio-Debuggingprozess, wenn WCF Test Client von Visual Studio gestartet wurde.

  • Klicken Sie im Infobereich mit der rechten Maustaste auf das WCF-Diensthostsymbol , und klicken Sie dann auf "Beenden". Dadurch werden sowohl wcf Service Auto Host als auch WCF Test Client heruntergefahren und der Visual Studio-Debuggingprozess beendet.

Siehe auch