Služby WCF a Trasování událostí pro Windows
Ukázka trasování událostí etWTracing ukazuje, jak pomocí analytického trasování ve Windows Communication Foundation (WCF) generovat události v trasování událostí pro Windows (ETW). Analytické trasování jsou události generované v klíčových bodech v zásobníku WCF, které umožňují řešení potíží se službami WCF v produkčním prostředí.
Analytické trasování ve službách WCF je trasování, které je možné zapnout v produkčním prostředí s minimálním dopadem na výkon. Tyto trasování se generují jako události relace trasování událostí pro Windows.
Tato ukázka zahrnuje základní službu WCF, ve které se události vygenerují ze služby do protokolu událostí, které lze zobrazit pomocí Prohlížeč událostí. Je také možné spustit vyhrazenou relaci Trasování událostí pro Windows, která naslouchá událostem ze služby WCF. Ukázka obsahuje skript pro vytvoření vyhrazené relace Trasování událostí pro Windows, která ukládá události do binárního souboru, který lze číst pomocí Prohlížeč událostí.
Použití této ukázky
V sadě Visual Studio otevřete soubor řešení EtwAnalyticTraceSample.sln.
Řešení sestavíte stisknutím kláves Ctrl+Shift+B.
Řešení spustíte stisknutím kláves Ctrl+F5.
Ve webovém prohlížeči klikněte na Calculator.svc. Identifikátor URI dokumentu WSDL pro službu by se měl zobrazit v prohlížeči. Zkopírujte tento identifikátor URI.
Ve výchozím nastavení služba začne naslouchat žádostem na portu 1378
http://localhost:1378/Calculator.svc
.Spusťte testovacího klienta WCF (WcfTestClient.exe).
Testovací klient WCF (WcfTestClient.exe) se nachází na
\<Visual Studio Install Dir>\Common7\IDE\WcfTestClient.exe
adrese .V rámci testovacího klienta WCF přidejte službu tak, že vyberete Soubor a pak přidáte službu.
Do vstupního pole přidejte adresu koncového bodu. Výchozí hodnota je
http://localhost:1378/Calculator.svc
.Otevřete aplikaci Prohlížeč událostí.
Před vyvoláním služby spusťte Prohlížeč událostí a ujistěte se, že protokol událostí naslouchá sledování událostí vygenerovaných ze služby WCF.
V nabídce Start vyberte Správa istrativní nástroje a pak Prohlížeč událostí. Povolte protokoly analýzy a ladění.
Ve stromovém zobrazení v Prohlížeč událostí přejděte na Prohlížeč událostí, protokoly aplikací a služeb, Microsoft, Windows a potom aplikační serverové aplikace. Klikněte pravým tlačítkem myši na Aplikace aplikačního serveru, vyberte Zobrazit a potom Zobrazit analytické a ladicí protokoly.
Ujistěte se, že je zaškrtnutá možnost Zobrazit analytické protokoly a protokoly ladění.
Povolte analytický protokol.
Ve stromovém zobrazení v Prohlížeč událostí přejděte na Prohlížeč událostí, protokoly aplikací a služeb, Microsoft, Windows a potom aplikační serverové aplikace. Klikněte pravým tlačítkem myši na Analýzu a vyberte Povolit protokol.
Otestování služby
Přepněte zpět na testovacího klienta WCF a poklikejte na
Divide
výchozí hodnoty, které určují jmenovatel 0.Pokud je jmenovatel 0, služba vyvolá chybu.
Sledujte události generované ze služby.
Přepněte zpět na Prohlížeč událostí a přejděte na Prohlížeč událostí, protokoly aplikací a služeb, Microsoft, Windows a potom aplikační serverové aplikace. Klikněte pravým tlačítkem myši na Analýzu a vyberte Aktualizovat.
Události analytického trasování WCF se zobrazují v prohlížeči událostí. Všimněte si, že protože služba vyvolá chybu, v prohlížeči událostí se zobrazí událost trasování chyb.
Opakujte kroky 1 a 2, ale s platnými vstupy. Hodnota parametru
N2
může být jiné číslo než 0.Aktualizujte analytický kanál, aby se zobrazily události WCF, neobsahují žádné chybové události.
Ukázka ukazuje události analytického trasování generované ze služby WCF.
Vyčištění (volitelné)
Otevřete Prohlížeč událostí.
Přejděte na Prohlížeč událostí, protokoly aplikací a služeb, Microsoft, Windows a potom application-server-Applications. Klikněte pravým tlačítkem myši na Analýzu a vyberte Zakázat protokol.
Přejděte na Prohlížeč událostí, protokoly aplikací a služeb, Microsoft, Windows a potom application-server-Applications. Klikněte pravým tlačítkem na Analýzu a vyberte Vymazat protokol.
Pokud chcete události vymazat, zvolte možnost Vymazat.