WCF-servicehost (WcfSvcHost.exe)
Met Windows Communication Foundation (WCF)-servicehost (WcfSvcHost.exe) kunt u het Visual Studio-foutopsporingsprogramma (F5) starten om automatisch een service te hosten en testen die u hebt geïmplementeerd. Vervolgens kunt u de service testen met wcf-testclient (WcfTestClient.exe), of uw eigen client, om mogelijke fouten te vinden en op te lossen.
WCF-servicehost
WcF-servicehost inventariseert de services in een WCF-serviceproject, laadt de configuratie van het project en instantieert een host voor elke service die wordt gevonden. Het hulpprogramma is geïntegreerd in Visual Studio via de WCF-servicesjabloon en wordt aangeroepen wanneer u begint met het opsporen van fouten in uw project.
Met behulp van WCF-servicehost kunt u een WCF-service (in een WCF-servicebibliotheekproject) hosten zonder extra code te schrijven of tijdens de ontwikkeling aan een specifieke host vast te leggen.
Notitie
WCF-servicehost biedt geen ondersteuning voor gedeeltelijke vertrouwensrelatie. Als u een WCF-service in gedeeltelijke vertrouwensrelatie wilt gebruiken, gebruikt u niet de sjabloon WCF-servicebibliotheekproject in Visual Studio om uw service te bouwen. Maak in plaats daarvan een nieuwe website in Visual Studio door de wcF-servicewebsitesjabloon te kiezen, die de service kan hosten in een webserver waarop WCF Partial Trust wordt ondersteund.
Projecttypen die worden gehost door WCF-servicehost
WCF-servicehost kan de volgende WCF-servicebibliotheekprojecttypen hosten: WCF-servicebibliotheek, sequentiële werkstroomservicebibliotheek, servicebibliotheek voor statuswerkstroom en syndicatieservicebibliotheek. WCF-servicehost kan ook deze services hosten die kunnen worden toegevoegd aan een servicebibliotheekproject met behulp van de functionaliteit Item toevoegen. Dit omvat WCF-service, WF State Machine Service, WF Sequentiële service, XAML WF State Machine Service en XAML WF Sequentiële service.
U moet er echter rekening mee houden dat het hulpprogramma u niet helpt bij het configureren van een host. Voor deze taak moet u het bestand App.config handmatig bewerken. Het hulpprogramma valideert ook geen door de gebruiker gedefinieerde configuratiebestanden.
Let op
U moet WCF-servicehost niet gebruiken om services in een productieomgeving te hosten, omdat deze niet is ontworpen voor dit doel. WCF-servicehost biedt geen ondersteuning voor de vereisten voor betrouwbaarheid, beveiliging en beheerbaarheid van een dergelijke omgeving. Gebruik in plaats daarvan IIS omdat het superieure betrouwbaarheids- en bewakingsfuncties biedt en de voorkeursoplossing is voor het hosten van services. Zodra de ontwikkeling van uw services is voltooid, moet u de services migreren van WCF-servicehost naar IIS.
Scenario's voor het gebruik van WCF-servicehost in Visual Studio
De volgende tabel bevat alle parameters in het dialoogvenster Opdrachtregelargumenten, die u kunt vinden door met de rechtermuisknop op uw project te klikken in Solutions Explorer in Visual Studio, Eigenschappen te selecteren, vervolgens het tabblad Foutopsporing te selecteren en op Project starten te klikken. Deze parameters zijn handig bij het configureren van WCF-servicehost.
Parameter | Betekenis |
---|---|
/client |
Een optionele parameter waarmee het pad naar een uitvoerbaar bestand wordt opgegeven dat moet worden uitgevoerd nadat de services worden gehost. Hiermee wordt wcf-testclient gestart na hosting. |
/clientArg |
Geef een tekenreeks op als een argument dat wordt doorgegeven aan de aangepaste clienttoepassing. |
/? |
Geeft de Help-tekst weer. |
WCF-testclient gebruiken
Nadat u een nieuw WCF-serviceproject hebt gemaakt en op F5 hebt drukt om het foutopsporingsprogramma te starten, start WCF-servicehost met het hosten van alle services die in uw project worden gevonden. WCF-testclient wordt automatisch geopend en geeft een lijst weer met service-eindpunten die zijn gedefinieerd in het configuratiebestand. Vanuit het hoofdvenster kunt u de parameters testen en uw service aanroepen.
Als u wilt controleren of de WCF-testclient wordt gebruikt, klikt u met de rechtermuisknop op uw project in Solutions Explorer in Visual Studio, selecteert u Eigenschappen en selecteert u vervolgens het tabblad Foutopsporing. Klik op Project starten en zorg ervoor dat het volgende wordt weergegeven in het dialoogvenster Opdrachtregelargumenten.
/client:WcfTestClient.exe
Een aangepaste client gebruiken
Als u een aangepaste client wilt gebruiken, klikt u met de rechtermuisknop op uw project in Solutions Explorer in Visual Studio, selecteert u Eigenschappen en selecteert u vervolgens het tabblad Foutopsporing . Klik op Project starten en bewerk de /client
parameter in het dialoogvenster Opdrachtregelargumenten om naar uw aangepaste client te verwijzen, zoals aangegeven in het volgende voorbeeld.
/client:"path/CustomClient.exe"
Wanneer u op F5 drukt om de service opnieuw te starten, wordt uw aangepaste client automatisch gestart wanneer u het foutopsporingsprogramma start.
U kunt de /clientArg:
parameter ook gebruiken om een tekenreeks op te geven als argument dat wordt doorgegeven aan de aangepaste clienttoepassing, zoals aangegeven in het volgende voorbeeld.
/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"
Als u bijvoorbeeld de sjabloon Syndication Service Library gebruikt, kunt u de volgende opdrachtregelargumenten gebruiken.
/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/
Geen client opgeven
Als u wilt opgeven dat er geen client wordt gebruikt nadat de WCF-service wordt gehost, klikt u met de rechtermuisknop op uw project in Solutions Explorer in Visual Studio, selecteert u Eigenschappen en selecteert u vervolgens het tabblad Foutopsporing . Klik op Project starten en laat het dialoogvenster Opdrachtregelargumenten leeg.
Een aangepaste host gebruiken
Als u een aangepaste host wilt gebruiken, klikt u met de rechtermuisknop op uw project in Solutions Explorer in Visual Studio, selecteert u Eigenschappen en selecteert u vervolgens het tabblad Foutopsporing . Klik op Extern programma starten en voer het volledige pad naar de aangepaste host in. U kunt ook het dialoogvenster Opdrachtregelargumenten gebruiken om argumenten op te geven die aan de host moeten worden doorgegeven.
Gebruikersinterface van WCF-servicehost
Wanneer u in eerste instantie WCF-servicehost aanroept (door op F5 in Visual Studio te drukken), wordt het venster WCF-servicehost automatisch geopend. Wanneer WCF-servicehost wordt uitgevoerd, wordt het pictogram van het programma weergegeven in het systeemvak. Dubbelklik op het pictogram om het venster WCF-servicehost te openen
Wanneer er fouten optreden tijdens het hosten van services, wordt het dialoogvenster WCF-servicehost geopend om relevante informatie weer te geven.
Het hoofdvenster van de WCF-servicehost bevat twee menu's:
Bestand: bevat de opdrachten Sluiten en Afsluiten . Wanneer u op Sluiten klikt, wordt het dialoogvenster WCF-servicehost gesloten, maar blijven de services gehost. Wanneer u op Afsluiten klikt, wordt wcf-servicehost ook afgesloten. Hierdoor worden ook alle gehoste services gestopt.
Help: Bevat de opdracht Info over die versie-informatie bevat. Het bevat ook de Help-opdracht waarmee een Help-bestand kan worden geopend.
Het hoofdvenster van de WCF-servicehost bevat twee gebieden:
Het eerste gebied is Service. Het bevat een lijst met basisinformatie van alle services. De informatie omvat:
Service: geeft een overzicht van alle services.
Status: Geeft de status van de service weer. Geldige waarden zijn 'Gestart', 'Gestopt' en 'Fout'.
Metagegevensadres: geeft het metagegevensadres van de services weer.
Het tweede gebied is Aanvullende informatie. Er wordt een gedetailleerde uitleg van de servicestatus weergegeven wanneer de specifieke serviceregel is geselecteerd in het gebied Service . Als de status Fout is, kunt u het volledige foutbericht op het scherm bekijken.
WCF-servicehost stoppen
U kunt WCF-servicehost op de volgende vier manieren afsluiten:
Stop de foutopsporingssessie in Visual Studio.
Selecteer Afsluiten in het menu Bestand in het venster WCF-servicehost .
Selecteer Afsluiten in het contextmenu van het systeemvak van wcf-servicehost in het systeemvak.
Sluit wcf-testclient af als deze wordt gebruikt.
Servicehost gebruiken zonder Beheer rechten
Als u wilt dat gebruikers zonder beheerdersbevoegdheden WCF-services kunnen ontwikkelen, wordt er een ACL (Access Control List) gemaakt voor de naamruimte "http://+:8731/Design_Time_Addresses" tijdens de installatie van Visual Studio. De ACL is ingesteld op (UI), met alle interactieve gebruikers die zijn aangemeld op de computer. Beheer istrators kunnen gebruikers toevoegen aan of verwijderen uit deze ACL of extra poorten openen. Met deze ACL kunnen gebruikers de automatische host van de WCF-service (wcfSvcHost.exe) gebruiken zonder beheerdersbevoegdheden toe te kennen.
U kunt de toegang wijzigen met behulp van het hulpprogramma netsh.exe in Windows Vista onder het beheerdersaccount met verhoogde bevoegdheid. Hier volgt een voorbeeld van het gebruik van netsh.exe.
netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>
Zie "How to Use the Netsh.exe Tool and Command-Line Switches" (De Netsh.exe tool en opdrachtregelopties gebruiken) voor meer informatie over netsh.exe.