Dela via


WCF-tjänstvärd (WcfSvcHost.exe)

Med Windows Communication Foundation (WCF) Service Host (WcfSvcHost.exe) kan du starta Visual Studio-felsökningsprogrammet (F5) för att automatiskt vara värd för och testa en tjänst som du har implementerat. Du kan sedan testa tjänsten med WCF-testklienten (WcfTestClient.exe) eller din egen klient för att hitta och åtgärda eventuella fel.

WCF-tjänstvärd

WCF-tjänstvärden räknar upp tjänsterna i ett WCF-tjänstprojekt, läser in projektets konfiguration och instansierar en värd för varje tjänst som hittas. Verktyget är integrerat i Visual Studio via WCF-tjänstmallen och anropas när du börjar felsöka projektet.

Genom att använda WCF-tjänstvärden kan du vara värd för en WCF-tjänst (i ett WCF-tjänstbiblioteksprojekt) utan att skriva extra kod eller checka in till en viss värd under utvecklingen.

Kommentar

WCF-tjänstvärden stöder inte partiellt förtroende. Om du vill använda en WCF-tjänst i Partiellt förtroende ska du inte använda projektmallen WCF-tjänstbibliotek i Visual Studio för att skapa tjänsten. Skapa i stället en ny webbwebbplats i Visual Studio genom att välja WCF Service WebSite-mallen, som kan vara värd för tjänsten i en webbserver där delvis förtroende för WCF stöds.

Projekttyper som värdhanteras av WCF-tjänstvärden

WCF-tjänstvärden kan vara värd för följande WCF-tjänstbiblioteksprojekttyper: WCF-tjänstbibliotek, sekventiellt arbetsflödestjänstbibliotek, tjänstbibliotek för tillståndsdatorarbetsflöde och syndikeringstjänstbibliotek. WCF-tjänstvärden kan också vara värd för de tjänster som kan läggas till i ett tjänstbiblioteksprojekt med hjälp av funktionen Lägg till objekt . Detta inkluderar WCF-tjänsten, WF State Machine Service, WF Sekventiell tjänst, XAML WF State Machine Service och XAML WF Sekventiell tjänst.

Observera dock att verktyget inte hjälper dig att konfigurera en värd. För den här uppgiften måste du redigera app.config-filen manuellt. Verktyget validerar inte heller användardefinierade konfigurationsfiler.

Varning

Du bör inte använda WCF-tjänstvärden för att vara värd för tjänster i en produktionsmiljö, eftersom den inte har utformats för detta ändamål. WCF-tjänstvärden stöder inte kraven på tillförlitlighet, säkerhet och hanterbarhet i en sådan miljö. Använd i stället IIS eftersom det ger överlägsen tillförlitlighet och övervakningsfunktioner och är den bästa lösningen för värdtjänster. När utvecklingen av dina tjänster är klar bör du migrera tjänsterna från WCF-tjänstvärden till IIS.

Scenarier för att använda WCF-tjänstvärd i Visual Studio

I följande tabell visas alla parametrar i dialogrutan Kommandoradsargument , som du hittar genom att högerklicka på projektet i Solutions Explorer i Visual Studio, välja Egenskaper, sedan välja fliken Felsök och klicka på Starta projekt. De här parametrarna är användbara när du konfigurerar WCF-tjänstvärden.

Parameter Innebörd
/client En valfri parameter som anger sökvägen till en körbar fil som ska köras efter att tjänsterna har värdhanterats. Detta startar WCF-testklienten efter värd.
/clientArg Ange en sträng som ett argument som skickas till det anpassade klientprogrammet.
/? Visar hjälptexten.

Använda WCF-testklient

När du har skapat ett nytt WCF-tjänstprojekt och trycker på F5 för att starta felsökningsprogrammet börjar WCF-tjänstvärden vara värd för alla tjänster som hittas i projektet. WCF-testklienten öppnas automatiskt och visar en lista över tjänstslutpunkter som definierats i konfigurationsfilen. Från huvudfönstret kan du testa parametrarna och anropa tjänsten.

Kontrollera att WCF-testklienten används genom att högerklicka på projektet i Solutions Explorer i Visual Studio, välja Egenskaper och sedan välja fliken Felsök. Klicka på Starta projekt och se till att följande visas i dialogrutan Kommandoradsargument.

/client:WcfTestClient.exe

Använda en anpassad klient

Om du vill använda en anpassad klient högerklickar du på projektet i Solutions Explorer i Visual Studio, väljer Egenskaper och väljer sedan fliken Felsök. Klicka på Starta projekt och redigera /client parametern i dialogrutan Kommandoradsargument för att peka på din anpassade klient, enligt följande exempel.

/client:"path/CustomClient.exe"

När du trycker på F5 för att starta tjänsten igen startar WCF-tjänstvärden automatiskt din anpassade klient när du startar felsökningsprogrammet.

Du kan också använda parametern /clientArg: för att ange en sträng som ett argument som skickas till det anpassade klientprogrammet, enligt följande exempel.

/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"

Om du till exempel använder mallen Syndication Service Library kan du använda följande kommandoradsargument.

/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/

Ange ingen klient

Om du vill ange att ingen klient ska användas efter WCF-tjänstens värd högerklickar du på projektet i Solutions Explorer i Visual Studio, väljer Egenskaper och väljer sedan fliken Felsök. Klicka på Starta projekt och lämna dialogrutan Kommandoradsargument tom.

Använda en anpassad värd

Om du vill använda en anpassad värd högerklickar du på projektet i Solutions Explorer i Visual Studio, väljer Egenskaper och väljer sedan fliken Felsök . Klicka på Starta externt program och ange den fullständiga sökvägen till den anpassade värden. Du kan också använda dialogrutan Kommandoradsargument för att ange argument som ska skickas till värden.

Användargränssnitt för WCF-tjänstvärd

När du först anropar WCF-tjänstvärden (genom att trycka på F5 i Visual Studio) öppnas fönstret WCF-tjänstvärd automatiskt. När WCF-tjänstvärden körs visas programmets ikon i meddelandefältet. Dubbelklicka på ikonen för att öppna fönstret WCF-tjänstvärd

När fel inträffar under tjänstvärdtjänsten öppnas dialogrutan WCF-tjänstvärd för att visa relevant information.

Huvudfönstret WCF-tjänstvärd innehåller två menyer:

  • Fil: Innehåller kommandona Stäng och Avsluta . När du klickar på Stäng stängs dialogrutan WCF-tjänstvärd, men tjänsterna fortsätter att finnas. När du klickar på Avsluta stängs även WCF-tjänstvärden av. Detta stoppar även alla värdbaserade tjänster.

  • Hjälp: Innehåller kommandot Om som innehåller versionsinformation. Den innehåller även hjälpkommandot som kan öppna en hjälpfil.

Huvudfönstret för WCF-tjänstens värd innehåller två områden:

  • Det första området är Service. Den innehåller en lista som visar grundläggande information om alla tjänster. Informationen omfattar:

    • Tjänst: Visar en lista över alla tjänster.

    • Status: Visar status för tjänsten. Giltiga värden är "Started", "Stopped" och "Error".

    • Metadataadress: Visar metadataadressen för tjänsterna.

  • Det andra området är Ytterligare information. Den visar en detaljerad förklaring av tjänststatusen när den specifika tjänstraden har valts i området Tjänst . Om statusen är Fel kan du visa det fullständiga felmeddelandet på skärmen.

Stoppa WCF-tjänstvärd

Du kan stänga av WCF-tjänstvärden på följande fyra sätt:

  • Stoppa felsökningssessionen i Visual Studio.

  • Välj Avsluta från menyn Arkiv i fönstret WCF-tjänstvärd .

  • Välj Avsluta från snabbmenyn i ikonen för WCF-tjänstens värdfack i systemets meddelandeområde.

  • Avsluta WCF-testklienten om den används.

Använda tjänstvärd utan administratörsbehörighet

För att göra det möjligt för användare utan administratörsbehörighet att utveckla WCF-tjänster skapas en ACL (åtkomstkontrollista) för namnområdet "http://+:8731/Design_Time_Addresses" under installationen av Visual Studio. ACL är inställt på (UI), som innehåller alla interaktiva användare som är inloggade på datorn. Administratörer kan lägga till eller ta bort användare från den här ACL:en eller öppna ytterligare portar. Med den här ACL:n kan användarna använda den automatiska WCF-tjänstens värd (wcfSvcHost.exe) utan att ge dem administratörsbehörighet.

Du kan ändra åtkomsten med hjälp av verktyget netsh.exe i Windows Vista under det upphöjda administratörskontot. Följande är ett exempel på hur du använder netsh.exe.

netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>

Mer information om netsh.exe finns i "Använda Netsh.exe-verktyget och kommandoradsväxlar".

Se även