Hostitel služby WCF (WcfSvcHost.exe)
Hostitel služby Windows Communication Foundation (WCF) (WcfSvcHost.exe) umožňuje spustit ladicí program sady Visual Studio (F5), který automaticky hostuje a testuje službu, kterou jste implementovali. Službu pak můžete otestovat pomocí klienta WCF Test Client (WcfTestClient.exe) nebo vlastního klienta a vyhledat a opravit případné chyby.
Hostitel služby WCF
Hostitel služby WCF vytvoří výčet služeb v projektu služby WCF, načte konfiguraci projektu a vytvoří instanci hostitele pro každou službu, kterou najde. Nástroj je integrovaný do sady Visual Studio prostřednictvím šablony služby WCF a je vyvolán při spuštění ladění projektu.
Pomocí hostitele služby WCF můžete hostovat službu WCF (v projektu knihovny služeb WCF), aniž byste museli během vývoje zapsat další kód nebo se zavázat ke konkrétnímu hostiteli.
Poznámka:
Hostitel služby WCF nepodporuje částečný vztah důvěryhodnosti. Pokud chcete použít službu WCF v částečném vztahu důvěryhodnosti, nepoužívejte šablonu projektu knihovny služeb WCF v sadě Visual Studio k sestavení služby. Místo toho vytvořte nový web v sadě Visual Studio výběrem šablony website služby WCF, která může hostovat službu na webovém serveru, na kterém je podporována částečná důvěryhodnost WCF.
Typy projektů hostované hostitelem služby WCF
Hostitel služby WCF může hostovat následující typy projektů knihovny služeb WCF: Knihovna služeb WCF, knihovna služeb sekvenčních pracovních postupů, knihovna pracovních postupů stavového počítače a knihovna syndikace služeb. Hostitel služby WCF může také hostovat služby, které lze přidat do projektu knihovny služeb pomocí funkce Přidat položku . To zahrnuje službu WCF, službu stavového počítače WF, sekvenční službu WF, službu stavového počítače XAML a sekvenční službu XAML WF.
Měli byste si ale uvědomit, že vám nástroj nepomůže s konfigurací hostitele. Pro tuto úlohu musíte ručně upravit soubor App.config. Nástroj také neověřuje uživatelsky definované konfigurační soubory.
Upozornění
Hostitele služby WCF byste neměli používat k hostování služeb v produkčním prostředí, protože pro tento účel nebyl navržen. Hostitel služby WCF nepodporuje požadavky na spolehlivost, zabezpečení a možnosti správy takového prostředí. Místo toho použijte službu IIS, protože poskytuje vynikající funkce pro spolehlivost a monitorování a je upřednostňovaným řešením pro hostování služeb. Po dokončení vývoje služeb byste měli migrovat služby z hostitele služby WCF do služby IIS.
Scénáře použití hostitele služby WCF v sadě Visual Studio
V následující tabulce jsou uvedeny všechny parametry v dialogovém okně Argumenty příkazového řádku, které najdete tak, že v Průzkumníku řešení v sadě Visual Studio kliknete pravým tlačítkem na projekt, vyberete Vlastnosti a pak vyberete kartu Ladění a kliknete na Spustit projekt. Tyto parametry jsou užitečné při konfiguraci hostitele služby WCF.
Parametr | Význam |
---|---|
/client |
Volitelný parametr, který určuje cestu ke spustitelnému souboru, který se má spustit po hostované službě. Tím se spustí testovací klient WCF po hostování. |
/clientArg |
Zadejte řetězec jako argument předaný vlastní klientské aplikaci. |
/? |
Zobrazí text nápovědy. |
Použití testovacího klienta WCF
Po vytvoření nového projektu služby WCF a stisknutím klávesy F5 spusťte ladicí program, hostitel služby WCF začne hostovat všechny služby, které najde v projektu. Automaticky se otevře testovací klient WCF a zobrazí seznam koncových bodů služby definovaných v konfiguračním souboru. V hlavním okně můžete parametry otestovat a vyvolat službu.
Chcete-li zajistit použití testovacího klienta WCF, klikněte pravým tlačítkem na projekt v Průzkumníku řešení v sadě Visual Studio, vyberte Vlastnosti a pak vyberte kartu Ladění. Klikněte na Spustit projekt a ujistěte se, že se v dialogovém okně Argumenty příkazového řádku zobrazí následující.
/client:WcfTestClient.exe
Použití vlastního klienta
Pokud chcete použít vlastního klienta, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení v sadě Visual Studio, vyberte Vlastnosti a pak vyberte kartu Ladění. Klikněte na Spustit projekt a upravte /client
parametr v dialogovém okně Argumenty příkazového řádku tak, aby odkazovat na vlastního klienta, jak je uvedeno v následujícím příkladu.
/client:"path/CustomClient.exe"
Když stisknete klávesu F5 a znovu spustíte službu, hostitel služby WCF automaticky spustí vlastního klienta při spuštění ladicího programu.
Parametr můžete také použít /clientArg:
k určení řetězce jako argumentu předaného vlastní klientské aplikaci, jak je uvedeno v následujícím příkladu.
/client:"path/CustomClient.exe" /clientArg:"arguments that are passed to Client"
Pokud například používáte šablonu Knihovny služeb syndikace, můžete použít následující argumenty příkazového řádku:
/client:iexplore.exe /clientArgs:http://localhost:8731/Design_Time_Addresses/Feed1/
Zadání žádného klienta
Chcete-li určit, že po hostování služby WCF nebude použit žádný klient, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení v sadě Visual Studio, vyberte Vlastnosti a pak vyberte kartu Ladění. Klepněte na tlačítko Spustit projekt a nechte dialogové okno Argumenty příkazového řádku prázdné.
Použití vlastního hostitele
Pokud chcete použít vlastního hostitele, klikněte pravým tlačítkem myši na projekt v Průzkumníku řešení v sadě Visual Studio, vyberte Vlastnosti a pak vyberte kartu Ladění. Klikněte na Spustit externí program a zadejte úplnou cestu k vlastnímu hostiteli. Můžete také použít dialogové okno Argumenty příkazového řádku k určení argumentů , které mají být předány hostiteli.
Uživatelské rozhraní hostitele služby WCF
Při počátečním vyvolání hostitele služby WCF (stisknutím klávesy F5 v sadě Visual Studio) se automaticky otevře okno Hostitel služby WCF. Když je spuštěný hostitel služby WCF, zobrazí se v oznamovací oblasti ikona programu. Poklikáním na ikonu otevřete okno hostitele služby WCF.
Pokud během hostování služby dojde k chybám, otevře se dialogové okno Hostitel služby WCF, ve kterém se zobrazí relevantní informace.
Hlavní okno hostitele služby WCF obsahuje dvě nabídky:
Soubor: Obsahuje příkazy Zavřít a Ukončit . Když kliknete na Zavřít, dialogové okno Hostitel služby WCF se zavře, ale služby budou dál hostovány. Když kliknete na Ukončit, hostitel služby WCF je také vypnut. Tím se zastaví také všechny hostované služby.
Nápověda: Obsahuje příkaz O produktu, který obsahuje informace o verzi. Obsahuje také příkaz Nápovědy, který může otevřít soubor nápovědy.
Hlavní okno hostitele služby WCF obsahuje dvě oblasti:
První oblastí je Služba. Obsahuje seznam, který zobrazuje základní informace o všech službách. Mezi tyto informace patří:
Služba: Zobrazí seznam všech služeb.
Stav: Vypíše stav služby. Platné hodnoty jsou "Started", "Zastaveno" a "Error".
Adresa metadat: Zobrazuje adresu metadat služeb.
Druhá oblast je Další informace. Zobrazí podrobné vysvětlení stavu služby, když je v oblasti Služby vybrána konkrétní čára služby. Pokud je stav Chyba, můžete zobrazit celou chybovou zprávu na obrazovce.
Zastavení hostitele služby WCF
Hostitele služby WCF můžete vypnout následujícími čtyřmi způsoby:
Zastavte ladicí relaci v sadě Visual Studio.
V nabídce Soubor v okně Hostitel služby WCF vyberte Možnost Ukončit.
V místní nabídce na hlavním panelu služby WCF v oznamovací oblasti systému vyberte Možnost Ukončit .
Ukončete testovacího klienta WCF, pokud se používá.
Použití hostitele služby bez oprávnění Správa istrator
Pokud chcete uživatelům bez oprávnění správce povolit vývoj služeb WCF, vytvoří se seznam řízení přístupu (ACL) pro obor názvů "http://+:8731/Design_Time_Addresses" během instalace sady Visual Studio. Seznam ACL je nastavený na (UI), který zahrnuje všechny interaktivní uživatele přihlášené k počítači. Správa istrátory mohou přidávat nebo odebírat uživatele z tohoto seznamu ACL nebo otevírat další porty. Tento seznam ACL umožňuje uživatelům používat automatického hostitele služby WCF (wcfSvcHost.exe) bez udělení oprávnění správce.
Přístup můžete upravit pomocí nástroje netsh.exe v systému Windows Vista pod účtem správce se zvýšenými oprávněními. Následuje příklad použití netsh.exe.
netsh http add urlacl url=http://+:8001/MyService user=<domain>\<user>
Další informace o netsh.exe naleznete v tématu "Použití nástroje Netsh.exe a přepínačů příkazového řádku".