Überwachen mit einer Textdatei

Dieses Thema gilt für Windows Workflow Foundation 4.

In diesem Beispiel wird veranschaulicht, wie die Nachverfolgung von Windows Workflow Foundation (WF) erweitert wird, indem ein benutzerdefinierter Nachverfolgungsteilnehmer erstellt wird. Nachverfolgungsteilnehmer sind .NET Framework-Klassen, die Nachverfolgungsdatensätze von der Laufzeit empfangen, wenn sie ausgegeben werden. Sie können einen Nachverfolgungsteilnehmer erstellen, um die Nachverfolgungsereignisse zu dem Ziel zu transportieren, das für das Szenario erforderlich ist. Ein ETW-Nachverfolgungsteilnehmer (Event Tracing for Windows, Ereignisablaufverfolgung für Windows) wird z. B. als Bestandteil von .NET Framework bereitgestellt. Der Nachverfolgungsteilnehmer in diesem Beispiel schreibt die Datensätze in eine Textdatei im XML-Format.

Beispieldetails

Um die Nützlichkeit und die Stabilität des Nachverfolgungsteilnehmers zu optimieren, müssen einige zusätzliche Schritte ausgeführt werden, damit der Nachverfolgungsteilnehmer ordnungsgemäß mit der Laufzeit verbunden wird. In der folgenden Tabelle werden die in diesem Beispiel verwendeten Klassen beschrieben, mit denen ein Nachverfolgungsteilnehmer erstellt wird, der bewährte Methoden einhält.

Klasse Beschreibung

TextFileTrackingExtensionElement

Ein BehaviorExtensionElement wird verwendet, um den Konfigurationsabschnitt zu definieren, der verwendet wird, um den Textdatei-Nachverfolgungsteilnehmer zu konfigurieren. Dies ermöglicht es Benutzern, das Ziel der Protokolldatei mit standardmäßigen .NET Framework-Konfigurationsdateien anzugeben.

TextFileTrackingBehavior

Das Verhalten in WCF ermöglicht es Benutzern, Erweiterungen in die Laufzeit einzufügen. Dieses Verhalten fügt dem Dienst den Nachverfolgungsteilnehmer hinzu, wenn der Dienst gestartet wird.

TextFileTrackingParticipant

Der Nachverfolgungsteilnehmer, der zur Laufzeit Nachverfolgungsteilnehmer empfängt und sie in einer Protokolldatei als XML speichert.

Konfiguration von Verhaltenserweiterungselementen

Ein weiterer Schritt ist erforderlich, um das Verhaltenserweiterungselement zu nutzen, das zuvor mit .NET Framework-Konfigurationsdateien beschrieben wurde. Die folgende Konfiguration muss in Konfigurationsdateien eingefügt werden, in denen die Erweiterung verwendet werden soll.

<system.serviceModel>
    <extensions>
      <behaviorExtensions>
        <add name="textFileTracking" type="Microsoft.Samples.TextFileTracking.TextFileTrackingExtensionElement, WFStockPriceApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </behaviorExtensions>
    </extensions>
…
  </system.serviceModel>
Ee667247.note(de-de,VS.100).gifHinweis:
Eine vollständige Beispielverwendung der Konfiguration von Verhaltenserweiterungselementen finden Sie in der Datei "Web.config" im Beispiel.

Benutzerdefinierte Überwachungsdatensätze

Die Datei "GetStockPrices.cs" veranschaulicht, wie benutzerdefinierte Nachverfolgungsdatensätze in CodeActivity erstellt werden. Suchen Sie nach diesem Datensatz, wenn Sie das Beispiel ausführen.

So verwenden Sie dieses Beispiel

  1. Öffnen Sie mit Visual Studio 2010 die Projektmappendatei "WFStockPriceApplication.sln".

  2. Drücken Sie F6, um die Projektmappe zu erstellen.

  3. Drücken Sie STRG+F5, um die Projektmappe auszuführen.

    Das Browserfenster wird geöffnet und zeigt die Verzeichnisliste für die Anwendung an.

  4. Klicken Sie im Browser auf "StockPriceService.xamlx".

  5. Der Browser zeigt die Seite StockPriceService an, die die WSDL-Adresse des lokalen Diensts enthält. Kopieren Sie diese Adresse.

    Ein Beispiel für die WSDL-Adresse des lokalen Diensts ist "https://localhost:65193/StockPriceService.xamlx?wsdl".

  6. Wechseln Sie mit Windows-Explorer zum Visual Studio 2010-Ordner (der Standardinstallationsordner ist "%SystemDrive%\Programme\Microsoft Visual Studio 10.0"). Suchen Sie dann den Unterordner "Common7\IDE\".

  7. Doppelklicken Sie auf die Datei "WcfTestClient.exe", um den WCF-Testclient zu starten.

  8. Wählen Sie im WCF-Testclient im Menü Datei die Option Dienst hinzufügen aus.

  9. Fügen Sie die URL ein, die Sie gerade in das Textfeld kopiert haben.

  10. Klicken Sie auf OK, um das Dialogfeld zu schließen.

  11. Testen Sie den Dienst mit dem WCF-Testclient.

    1. Doppelklicken Sie im WCF-Testclient auf GetStockPrice() unter dem Knoten IStockPriceService.

      Die GetStockPrice()-Methode wird im rechten Bereich mit einem Parameter angezeigt.

    2. Geben Sie "Contoso" als Wert für den Parameter ein.

    3. Klicken Sie auf Aufrufen.

  12. Sehen Sie sich die nachverfolgten Ereignisse in der Protokolldatei an, die sich im Anwendungsdatenverzeichnis unter "%APPDATA%\trackingRecords.log" befindet.

    Ee667247.note(de-de,VS.100).gifHinweis:
    %APPDATA% ist eine Umgebungsvariable, die zu "%SystemDrive%\Users\<Benutzernamen>\AppData\Roaming" in Windows Vista, Windows Server 2008 oder Windows Server 2008 aufgelöst wird.

Ee667247.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<Installationslaufwerk>:\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)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

<Installationslaufwerk>:\WF_WCF_Samples\WF\Basic\Tracking\TextFileTracking