WCF-Dienste und Ereignisablaufverfolgung für WindowsWCF Services and Event Tracing for Windows

In diesem Beispiel wird gezeigt, wie die analytische Ablaufverfolgung von Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) verwendet wird, um Ereignisse in der Ereignisablaufverfolgung für Windows (ETW) auszugeben.This sample demonstrates how to use the analytic tracing in Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) to emit events in Event Tracing for Windows (ETW). Die analytische Ablaufverfolgung besteht aus Ereignissen, die an Schlüsselpunkten im WCFWCF-Stapel ausgegeben werden und die Problembehandlung der WCFWCF-Dienste in der Produktionsumgebung zulassen.The analytic traces are events emitted at key points in the WCFWCF stack that allow troubleshooting of WCFWCF services in production environment.

Die analytische Ablaufverfolgung in WCFWCF ist eine Methode der Ablaufverfolgung, die in einer Produktionsumgebung mit minimalen Auswirkungen auf die Leistung aktiviert werden kann.Analytic trace in WCFWCF services is tracing that can be turned on in a production environment with minimal impact on performance. Diese Ablaufverfolgungen werden als Ereignisse zu einer ETW-Sitzung ausgegeben.These traces are emitted as events to an ETW session.

Dieses Beispiel enthält einen grundlegenden WCFWCF-Dienst, in dem Ereignisse vom Dienst an das Ereignisprotokoll ausgegeben werden. Dieses kann mit der Ereignisanzeige angezeigt werden.This sample includes a basic WCFWCF service in which events are emitted from the service to the event log, which can be viewed using Event Viewer. Es ist auch möglich, eine dedizierte ETW-Sitzung zu starten, die Ereignisse des WCFWCF-Diensts überwacht.It is also possible to start a dedicated ETW session that listens for events from the WCFWCF service. Das Beispiel enthält ein Skript zum Erstellen einer dedizierten ETW-Sitzung, in der Ereignisse in einer Binärdatei gespeichert werden, die mithilfe der Ereignisanzeige gelesen werden kann.The sample includes a script to create a dedicated ETW session that stores events in a binary file that can be read using Event Viewer.

So verwenden Sie dieses BeispielTo use this sample

  1. Öffnen Sie mit Visual Studio 2012Visual Studio 2012 die EtwAnalyticTraceSample.sln-Projektmappendatei.Using Visual Studio 2012Visual Studio 2012, open the EtwAnalyticTraceSample.sln solution file.

  2. Drücken Sie STRG+UMSCHALT+B, um die Projektmappe zu erstellen.To build the solution, press CTRL+SHIFT+B.

  3. Drücken Sie STRG+F5, um die Projektmappe auszuführen.To run the solution, press CTRL+F5.

    Klicken Sie in den Webbrowser auf Calculator.svc.In the Web browser, click Calculator.svc. Der URI des WSDL-Dokuments für den Dienst wird daraufhin im Browser angezeigt.The URI of the WSDL document for the service should appear in the browser. Kopieren Sie diesen URI.Copy that URI.

    Standardmäßig beginnt der Dienst damit, Anforderungen auf Port 1378 (http://localhost:1378/Calculator .svc) zu überwachen.By default, the service starts listening for requests on port 1378 (http://localhost:1378/Calculator.svc).

  4. Führen Sie den WCFWCF-Testclient (WcfTestClient.exe) aus.Run the WCFWCF test client (WcfTestClient.exe).

    Die WCFWCF -Testclient (WcfTestClient.exe) befindet sich der < Visual Studio 2012Visual Studio 2012 -Installationsverzeichnis > \Common7\IDE\ WcfTestClient.exe (Standardeinstellung Visual Studio 2012Visual Studio 2012 Installationsverzeichnis ist C:\Program Files\Microsoft Visual Studio 10.0).The WCFWCF test client (WcfTestClient.exe) is located in the <Visual Studio 2012Visual Studio 2012 Install Dir>\Common7\IDE\ WcfTestClient.exe (default Visual Studio 2012Visual Studio 2012 install dir is C:\Program Files\Microsoft Visual Studio 10.0).

  5. Innerhalb der WCFWCF Client testen, fügen Sie den Dienst, indem Sie auswählen Datei, und klicken Sie dann Dienst hinzufügen.Within the WCFWCF test client, add the service by selecting File, and then Add Service.

    Fügen Sie die Endpunktadresse im Eingabefeld hinzu.Add the endpoint address in the input box. Die Standardadresse ist http://localhost:1378/Calculator.svc.The default is http://localhost:1378/Calculator.svc.

  6. Öffnen Sie die Ereignisanzeige.Open the Event Viewer application.

    Starten Sie vor dem Aufrufen des Diensts die Ereignisanzeige, und stellen Sie sicher, dass das Ereignisprotokoll eine Überwachung für von WCFWCF ausgegebene Überwachungsereignisse ausführt.Before invoking the service, start Event Viewer and ensure that the event log is listening for tracking events emitted from the WCFWCF service.

  7. Aus der starten klicken Sie im Menü Verwaltung, und klicken Sie dann Ereignisanzeige.From the Start menu, select Administrative Tools, and then Event Viewer. Aktivieren der analytisch und Debuggen Protokolle.Enable the Analytic and Debug logs.

  8. Wechseln Sie in der Strukturansicht in der Ereignisanzeige zu Ereignisanzeige, Anwendungs- und Dienstprotokolle, Microsoft, Windows, und klicken Sie dann Anwendungsserver-Anwendungen.In the tree view in Event Viewer, navigate to Event Viewer, Applications and Services Logs, Microsoft, Windows, and then Application Server-Applications. Mit der rechten Maustaste Anwendungsserver-AnwendungenOption Ansicht, und klicken Sie dann anzeigen analytische und Debugprotokolle.Right-click Application Server-Applications, select View, and then Show Analytic and Debug Logs.

    Sicherstellen, dass die anzeigen analytische und Debugprotokolle Option aktiviert ist.Ensure that the Show Analytic and Debug Logs option is checked.

  9. Aktivieren der analytisch Protokoll.Enable the Analytic log.

    Wechseln Sie in der Strukturansicht in der Ereignisanzeige zu Ereignisanzeige, Anwendungs- und Dienstprotokolle, Microsoft, Windows, und klicken Sie dann Anwendungsserver-Anwendungen.In the tree view in Event Viewer, navigate to Event Viewer, Applications and Services Logs, Microsoft, Windows, and then Application Server-Applications. Mit der rechten Maustaste analytisch , und wählen Sie Protokoll aktivieren.Right-click Analytic and select Enable Log.

So testen Sie den DienstTo test the service

  1. Wechseln Sie zurück zum WCFWCF-Testclient, doppelklicken Sie auf Divide, und behalten Sie die Standardwerte bei, die als Nenner 0 angeben.Switch back to WCFWCF test client and double-click Divide and keep the default values, which specify a denominator of 0.

    Wenn der Nenner 0 ist, löst der Dienst einen Fehler aus.If the denominator is 0, then the service throws a fault.

  2. Beachten Sie die vom Dienst ausgegebenen Ereignisse.Observe the events emitted from the service.

    Wechseln Sie zurück zur Ereignisanzeige, und navigieren Sie zu Ereignisanzeige, Anwendungs- und Dienstprotokolle, Microsoft, Windows, und klicken Sie dann Anwendungsserver-Anwendungen.Switch back to Event Viewer and navigate to Event Viewer, Applications and Services Logs, Microsoft, Windows, and then Application Server-Applications. Mit der rechten Maustaste analytisch , und wählen Sie aktualisieren.Right-click Analytic and select Refresh.

    Die analytischen Ablaufverfolgungsereignisse in WCF werden in der Ereignisanzeige angezeigt.The WCF analytic trace events are displayed in the event viewer. Beachten Sie, dass ein Fehler als Ablaufverfolgungsereignis in der Ereignisanzeige angezeigt wird, da ein Fehler vom Dienst ausgelöst wurde.Notice that because a fault was thrown by the service an error trace event is displayed in the event viewer.

  3. Wiederholen Sie Schritt 1 und 2 mit gültigen Eingaben.Repeat steps 1 and 2, but with valid inputs. Der Wert des N2-Parameters kann eine beliebige Zahl außer 0 sein.The value of the N2 parameter can be any number other than 0.

    Aktualisieren Sie den analytischen Kanal, um die WCF-Ereignisse anzuzeigen, wobei keine Fehlerereignisse vorhanden sind.Refresh the analytic channel to view the WCF events do not include any error events.

Im Beispiel werden die von einem WCF-Dienst ausgegebenen analytischen Ablaufverfolgungsereignisse veranschaulicht.The sample demonstrates the analytic trace events emitted from a WCF service.

So führen Sie eine (optionale) Bereinigung durchTo cleanup (Optional)

  1. Öffnen Sie die Ereignisanzeige.Open Event Viewer.

  2. Navigieren Sie zu Ereignisanzeige, Anwendungs- und Dienstprotokolle, Microsoft, Windows, und klicken Sie dann Anwendungsserver-Anwendungen.Navigate to Event Viewer, Applications and Services Logs, Microsoft, Windows, and then Application-Server-Applications. Mit der rechten Maustaste analytisch , und wählen Sie Protokoll deaktivieren.Right-click Analytic and select Disable Log.

  3. Navigieren Sie zu Ereignisanzeige, Anwendungs- und Dienstprotokolle, Microsoft, Windows, und klicken Sie dann Anwendungsserver-Anwendungen.Navigate to Event Viewer, Applications and Services Logs, Microsoft, Windows, and then Application-Server-Applications. Mit der rechten Maustaste analytisch , und wählen Sie Protokoll löschen.Right-click Analytic and select Clear Log.

  4. Wählen Sie die deaktivieren Option aus, um die Ereignisse zu löschen.Choose the Clear option to clear the events.

Wichtig

Die Beispiele sind möglicherweise bereits auf dem Computer installiert.The samples may already be installed on your computer. Suchen Sie nach dem folgenden Verzeichnis (Standardverzeichnis), bevor Sie fortfahren.Check for the following (default) directory before continuing.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) - und WFWF -Beispiele herunterzuladen.If this directory does not exist, go to Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 to download all Windows Communication Foundation (WCF)Windows Communication Foundation (WCF) and WFWF samples. Dieses Beispiel befindet sich im folgenden Verzeichnis.This sample is located in the following directory.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Management\ETWTracing

Siehe auchSee Also

Überwachen der AppFabric-BeispieleAppFabric Monitoring Samples