Delen via


WCF-testclient (WcfTestClient.exe)

Windows Communication Foundation (WCF) Test Client (WcfTestClient.exe) is een GUI-hulpprogramma waarmee gebruikers testparameters kunnen invoeren, die invoer naar de service kunnen verzenden en het antwoord kunnen bekijken dat de service terugstuurt. Het biedt een naadloze servicetestervaring in combinatie met WCF-servicehost.

Doorgaans vindt u de WCF-testclient (WcfTestClient.exe) op de volgende locatie: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE - Community kan een van de 'Enterprise'-, 'Professional' of 'Community' zijn, afhankelijk van het niveau van Visual Studio.

Scenario's voor het gebruik van testclient

In de volgende secties worden de meest voorkomende scenario's besproken waarin u wcf-testclient kunt gebruiken om uw ontwikkelingsproces te stroomlijnen.

Binnen Visual Studio

WCF-servicehost start WCF-testclient met één service

Nadat u een nieuw WCF-serviceproject hebt gemaakt en op F5 hebt drukt om het foutopsporingsprogramma te starten, begint de WCF-servicehost de service in uw project te hosten. Vervolgens wordt de WCF-testclient geopend en wordt een lijst met service-eindpunten weergegeven die zijn gedefinieerd in het configuratiebestand. U kunt de parameters testen en de service aanroepen en dit proces herhalen om uw service continu te testen en te valideren.

WCF-servicehost start WCF-testclient met meerdere services

U kunt wcf-testclient ook gebruiken om fouten op te sporen in een serviceproject dat meerdere services bevat. Wanneer WCF-testclient wordt geopend, wordt de lijst met services in uw project automatisch herhaald en geopend voor testen.

Buiten Visual Studio

U kunt ook de WCF-testclient (WcfTestClient.exe) buiten Visual Studio aanroepen om een willekeurige service op internet te testen. Ga naar de volgende locatie om het hulpprogramma te vinden:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE (waarbij de community een van de 'Enterprise'-, 'Professional' of 'Community' kan zijn, afhankelijk van het niveau van Visual Studio dat op de computer is geïnstalleerd)

Als u het hulpprogramma wilt gebruiken, dubbelklikt u op de bestandsnaam om het te openen vanaf deze locatie of start u het vanaf een opdrachtregel.

WcF-testclient gebruikt een willekeurig aantal URI's als opdrachtregelargumenten. Dit zijn de URI's van services die kunnen worden getest.

wcfTestClient.exe URI1 URI2 …

Nadat het wcF-testclientvenster is geopend, klikt u op File-Add> Service en voert u het eindpuntadres in van de service die u wilt openen.

WCF-testclientgebruikersinterface

U kunt WCF-testclient gebruiken met één service of meerdere services.

Servicebewerkingen

In het linkerdeelvenster van het hoofdvenster wcf-testclient worden alle beschikbare services weergegeven, samen met hun respectieve eindpunten en bewerkingen.

Wanneer u dubbelklikt op een bewerking, kunt u de inhoud ervan weergeven in het rechterdeelvenster van een nieuw tabblad met de naam van de bewerking.

In het linkerdeelvenster worden ook clientconfiguratiebestanden weergegeven. Dubbelklik op een van de items om de inhoud van het bestand weer te geven in een nieuw venster met tabbladen in het rechterdeelvenster.

Testparameters invoeren

Als u de testparameters wilt weergeven, dubbelklikt u op een bewerking om deze te openen in het rechterdeelvenster. De parameters worden standaard weergegeven in de opgemaakte weergave en u kunt willekeurige waarden invoeren voor de parameters om de service te testen.

Als u de XML van het bericht wilt weergeven, klikt u op XML. Klik op Aanroepen om ze naar de service te verzenden.

Klik voor een DataSet-parameter op de knop ... naast Bewerken... om deze te bewerken in een nieuw venster met datagrid. Let op het uiterlijk van de knoppen Gegevensset kopiëren en Gegevensset plakken. Als het schema van het DataSet-object onbekend is bij de eerste bewerking, is DataGrid leeg. U moet een DataSet-object met hetzelfde schema in het huidige object in DataGrid plakken. (U moet het schema ergens anders kopiëren vóór de plakbewerking.) U kunt ook een gegevenssetobject kopiëren voor toekomstig gebruik door op de knop Gegevensset kopiëren te klikken.

Het antwoord van de service wordt weergegeven onder de testparameters.

Notitie

Als de verwachte retourwaarde een tekenreeks is, wordt het resultaat weergegeven als een aanhalingstekenreeks, zelfs als de opgegeven invoer niet tussen aanhalingstekens stond.

Als u een bepaalde bewerking hebt opgegeven als eenrichtingsbewerking tijdens het maken van het contract voor de service, wordt er geen serviceantwoord weergegeven. Zodra het bericht in de wachtrij staat voor bezorging, verschijnt er een dialoogvenster om u te laten weten dat het bericht is verzonden.

Sessieondersteuning

Met het selectievakje Een nieuwe proxy starten op het tabblad van een servicebewerking kunt u sessieondersteuning in-/uitschakelen. Dit vak is standaard uitgeschakeld.

Wanneer u testparameters invoert voor een specifieke bewerking (of een andere bewerking in hetzelfde service-eindpunt) en meerdere keren op Aanroepen klikt terwijl het selectievakje is uitgeschakeld, delen deze bewerkingen één proxy en blijft de servicestatus behouden voor meerdere bewerkingen.

Als het selectievakje Een nieuwe proxy starten is ingeschakeld, wordt er een nieuwe proxy gestart voor elke aanroep, wordt het vorige sessiescenario beëindigd en wordt de servicestatus opnieuw ingesteld.

Clientconfiguratie bewerken

Het linkerdeelvenster van het hoofdvenster van de WCF-testclient bevat clientconfiguratiebestanden. Dubbelklik op een van de items om de inhoud van het bestand weer te geven in het rechterdeelvenster.

Bewerken met Service Configuration Editor

Klik met de rechtermuisknop op Configuratiebestand in het linkerdeelvenster en selecteer het contextmenu Bewerken met SvcConfigEditor. Service Configuration Editor wordt gestart met de clientconfiguratie-inhoud. U kunt de configuratie bewerken en opslaan in het hulpprogramma.

Nadat u het bestand hebt opgeslagen in de serviceconfiguratie-editor, geeft WCF-testclient een waarschuwingsbericht weer om u te laten weten dat het bestand buiten is gewijzigd en wordt gevraagd of u het opnieuw wilt laden.

Als u Ja selecteert, geeft de configuratie-inhoud op het tabblad Client.dll.config de wijzigingen weer die u in de editor hebt aangebracht.

Als u Nee selecteert, blijft de configuratie-inhoud op het tabblad Client.dll.config ongewijzigd en wordt de gewijzigde inhoud automatisch opgeslagen in het bronbestand.

Herstellen naar standaardconfiguratie

Als u alle wijzigingen wilt annuleren en de standaardclientconfiguratie wilt herstellen, klikt u met de rechtermuisknop op Configuratiebestand in het linkerdeelvenster en selecteert u het contextmenu Herstellen naar standaardconfiguratie. De standaardconfiguratiewaarde wordt geladen en inhoud op het tabblad Client.dll.config wordt hersteld.

Wijzigingen valideren

Wanneer opgeslagen wijzigingen worden geladen in wcf-testclient, wordt de configuratie gecontroleerd op geldigheid ten opzichte van het WCF-schema. Als er fouten worden gevonden, wordt een dialoogvenster weergegeven om foutdetails weer te geven.

Tijdens het genereren van proxy's, binaire compilatie of service-aanroepen, worden menu-items die ondersteuning bieden voor bewerken (dat wil gezegd: 'Bewerken ..., 'Herstellen...' enzovoort) uitgeschakeld. Service-aanroep is ook uitgeschakeld bij het laden van bijgewerkte configuratie naar WCF-testclient.

Clientconfiguratie behouden

Het tabblad Extra-opties-Clientconfiguratie>> bevat de optie Always Regenerate Config bij het starten van services. Deze optie is standaard ingeschakeld. Met deze optie geeft u op dat telkens wanneer de WCF-testclient een service laadt, er een configuratiebestand wordt gegenereerd op basis van de meest recente servicecontract- en service-App.config-bestanden.

Als u de clientconfiguratie voor uw WCF-service hebt bewerkt en dit bijgewerkte bestand altijd wilt gebruiken om fouten in uw service op te sporen, kunt u de optie Opnieuw genereren uitschakelen. Door dit te doen, zelfs wanneer u de service bijwerkt en WCF-testclient opnieuw opent, is het bestand Client.dll.config het bestand dat u eerder hebt bijgewerkt in plaats van een opnieuw gegenereerd bestand op basis van de bijgewerkte service.

Mogelijk moet u het configuratiebestand echter bewerken om het consistent te maken met de opnieuw gegenereerde proxy. Als de opnieuw gegenereerde proxy en het configuratiebestand niet overeenkomen vanwege een bijgewerkte service, treden er fouten op wanneer de service wordt aangeroepen.

Let op

Als u het configuratiebestand van de client hebt gewijzigd en dit in de toekomst opnieuw wilt gebruiken, kunt u het bestand vinden op de volgende locatie:

\Documents and Instellingen\[User Account]\My Documents\Test Client Projects.

Bijgewerkte referentiegegevens die zijn opgeslagen in het clientconfiguratiebestand, worden beveiligd door de ACL (Access Control List) van deze map.

Services toevoegen, verwijderen en vernieuwen

Service toevoegen

Klik op File-Add> Service om een service toe te voegen aan de WCF-testclient. Vervolgens moet u de URI (eindpuntadres) van de service typen die moet worden toegevoegd. Het adres van de service kan een mex-adres of WSDL-adres zijn.

U vindt ook een lijst met 10 onlangs toegevoegde services-eindpunten in het submenu Recente services . Als u een van deze services selecteert, wordt de opgegeven service toegevoegd aan DE WCF-testclient.

U kunt ook met de rechtermuisknop op de hoofdmap van de servicestructuur Mijn serviceprojecten klikken en Service toevoegen selecteren om hetzelfde resultaat te bereiken.

Tijdens het genereren van proxy's, binaire compilatie of service-aanroep, worden menu-items die ondersteuning bieden voor het toevoegen van een service uitgeschakeld. Service-aanroep is ook uitgeschakeld.

Service verwijderen

Klik met de rechtermuisknop op de servicehoofdmap van de service die u wilt verwijderen en selecteer Service verwijderen om een service uit WCF-testclient te verwijderen.

Tijdens het genereren van een proxy, binaire compilatie of service-aanroep, worden menu-items die ondersteuning bieden voor het verwijderen van een service uitgeschakeld. Service-aanroep is ook uitgeschakeld.

Service vernieuwen

Als er een wijziging wordt aangebracht in de service terwijl de WCF-testclient wordt uitgevoerd en u ervoor wilt zorgen dat de WCF-testclient-implementatie voor die service up-to-date is, klikt u met de rechtermuisknop op de servicehoofdmap van de service en selecteert u Vernieuwen van de service. Houd er rekening mee dat na het vernieuwen de servicestatus opnieuw wordt ingesteld.

Tijdens het genereren van proxy's, binaire compilatie of service-aanroep, worden menu-items die ondersteuning bieden voor het vernieuwen van een service uitgeschakeld. Service-aanroep is ook uitgeschakeld.

Locatie van bestanden gegenereerd door de testclient

De WCF-testclient slaat standaard gegenereerde clientcode en configuratiebestanden op in de map %appdata%\Local\temp\Test Client Projects. Deze map wordt verwijderd nadat de WCF-testclient is afgesloten. Als een configuratiebestand wordt gewijzigd in de WCF-testclient en de optie Altijd opnieuw genereren bij het starten van services is uitgeschakeld, wordt het gewijzigde bestand als index gekopieerd naar de map 'CachedConfig' onder 'Mijn documenten\Clientprojecten testen' met een toewijzing (metadata-address-to-file-name) XML-bestand.

U kunt wcf-testclient ook starten in een opdrachtregel, de /ProjectPath schakeloptie gebruiken om een nieuw gewenst pad op te geven voor het opslaan van gegenereerde bestanden of de /RestoreProjectPath schakeloptie gebruiken om de standaardlocatie te herstellen. De syntaxis is als volgt:

wcfTestClient.exe /ProjectPath [desired location]

Als u deze opdracht uitvoert, wordt wcf-testclient niet geopend. Alleen de maplocatie wordt gewijzigd. U kunt deze opdracht uitvoeren, ongeacht of de WCF-testclient wordt uitgevoerd of niet. De nieuwe locatie wordt toegepast wanneer de WCF-testclient opnieuw wordt gestart. De locatiegegevens kunnen worden opgeslagen in het register of in het bestand WcfTestClient.exe.option in de map %appdata%\Local\temp\Test Client Projects.

Functies die worden ondersteund door wcf-testclient

Hier volgt een lijst met functies die worden ondersteund door wcf-testclient:

  • Aanroep van service: aanvraag/antwoord en eenrichtingsbericht.

  • Bindingen: alle bindingen die worden ondersteund door Svcutil.exe.

  • Sessie beheren.

  • Berichtcontract.

  • XML-serialisatie.

Hier volgt een lijst met functies die niet worden ondersteund door wcf-testclient:

WCF-testclient sluiten

U kunt wcf-testclient op de volgende manieren sluiten:

  • Klik in het menu Bestand op Afsluiten. U kunt ook in het hoofdvenster van de WCF-testclient op Sluiten klikken. Beide acties sluiten ook de automatische host van WCF-service af en stoppen het foutopsporingsproces van Visual Studio als de WCF-testclient is gestart door Visual Studio.

  • Klik met de rechtermuisknop op het pictogram wcf-servicehost in het systeemvak en klik vervolgens op Afsluiten. Hierdoor worden zowel de wcF-service automatisch host als de WCF-testclient afgesloten en wordt het foutopsporingsproces van Visual Studio gestopt.

Zie ook