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

Dieses Beispiel veranschaulicht, wie die analytische Ablaufverfolgung in der Windows Communication Foundation (WCF) verwenden, um Ereignisse in Event Tracing for Windows (ETW) auszugeben.This sample demonstrates how to use the analytic tracing in Windows Communication Foundation (WCF) to emit events in Event Tracing for Windows (ETW). Die analytische Ablaufverfolgung werden Ereignisse, die an Schlüsselpunkten im WCF-Stapel, die es ermöglichen, zur Problembehandlung von WCF-Diensten in produktionsumgebung ausgegeben.The analytic traces are events emitted at key points in the WCF stack that allow troubleshooting of WCF services in production environment.

Analytische Ablaufverfolgung in WCF-Diensten ist, die die Ablaufverfolgung aktiviert werden kann in einer produktiven Umgebung mit minimaler Auswirkung auf die Leistung.Analytic trace in WCF 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 WCF-Dienst in dem Ereignisse aus dem Dienst in das Ereignisprotokoll ausgegeben werden mithilfe der Ereignisanzeige angezeigt werden können.This sample includes a basic WCF 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 für Ereignisse aus den WCF-Dienst überwacht.It is also possible to start a dedicated ETW session that listens for events from the WCF 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 Dienststart lauscht Anforderungen auf Port 1378 (http://localhost:1378/Calculator.svc).By default, the service starts listening for requests on port 1378 (http://localhost:1378/Calculator.svc).

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

    WCF-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 WCF 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. Fügen Sie innerhalb der WCF-Testclient den Dienst, indem Sie auswählen Datei, und klicken Sie dann Dienst hinzufügen.Within the WCF 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 Standardeinstellung ist http://localhost:1378/Calculator.svc.The default is http://localhost:1378/Calculator.svc.

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

    Vor dem Aufrufen des Diensts die Ereignisanzeige starten, und stellen Sie sicher, dass das Ereignisprotokoll eine Überwachung für vom WCF-Dienst 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 WCF 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 WCF-Testclient, und doppelklicken Sie auf Divide und behalten Sie die Standardwerte, die als Nenner 0 angeben.Switch back to WCF 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, fahren Sie mit Windows Communication Foundation (WCF) und Windows Workflow Foundation (WF) Samples for .NET Framework 4 aller Windows Communication Foundation (WCF) herunterladen und WFWF Beispiele.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) 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