Share via


Einfaches Überwachungsbeispiel

Download sample

Dieses Beispiel veranschaulicht die Verwendung des SQL-Überwachungsdiensts, der von Windows Workflow Foundation zum Überwachen der Ausführung eines Workflows bereitgestellt wird.

Die Workflowlaufzeit löst beim Ausführen eines Workflows bestimmte Ereignisse aus. Der Überwachungsdienst kann diese Ereignisse abfangen und Informationen zu den Ereignissen in einer SQL Server-Datenbank, die abgefragt werden kann, speichern.

Die Workflowlaufzeit löst die folgenden Ereignistypen aus:

  • Ereignisse auf Instanzebene. Diese Ereignisse werden ausgelöst, wenn eine Workflowinstanz in einen bestimmten Zustand wechselt. Beispielsweise wird ein Ereignis ausgelöst, wenn die Workflowinstanz initialisiert oder ausgeführt wird.

  • Ereignisse auf Aktivitätsebene. Ein Workflow besteht aus Aktivitäten, die ihrem eigenen Lebenszyklus folgen. Jede Aktivität durchläuft im Laufe ihres Lebenszyklus mehrere Zustände. Sobald eine Aktivität einen bestimmten Zustand erreicht, wird ein Ereignis ausgelöst.

  • Vom Benutzer überwachte Ereignisse. Ein Workflowautor kann benutzerdefinierte Überwachungsereignisse erstellen und sie dem Code-Beside-Bereich des Workflows hinzufügen.

Daten aus dem Workflowdatenkontext können ausgegeben und zusammen mit den Ereignissen an den Überwachungsdienst übergeben werden.

Wenn Sie einen Workflow überwachen, sind Sie möglicherweise nicht an allen Ereignissen für alle Zustände und Aktivitäten interessiert. Sie können ein Überwachungsprofil erstellen, um die gewünschten Ereignisse und Daten anzugeben. Der SQL-Überwachungsdienst verfügt über ein Standardüberwachungsprofil. In diesem Beispiel wird veranschaulicht, wie der SQL-Überwachungsdienst mit dem Standardüberwachungsprofil verwendet wird.

Verwenden Sie den folgenden Code, um einen Überwachungsdienst bei der Workflowlaufzeit zu registrieren:

WorkflowRuntime wr = new WorkflowRuntime();
wr.AddService(new SqlTrackingService(connectionstring));
wr.StartRuntime();

Mit der zweiten Zeile wird der SQL-Überwachungsdienst bei der Workflowlaufzeit registriert. Die Verbindungszeichenfolge ist die der Überwachungsdatenbank.

Die Ausgabe des Beispiels sieht folgendermaßen aus:

Ausgabe eines einfachen Überwachungsbeispiels

Erstellen der Überwachungsdatenbank

Die von Windows Workflow Foundation installierten SQL-Dienste verwenden Microsoft SQL Server, um Informationen zu speichern. Sie können für diese Aufgaben Microsoft SQL Server 2005 Express, SQL Server 2000 oder höhere Versionen oder Microsoft SQL Server 2000 Desktop Engine (MSDE) verwenden.

Das Setup von Windows Workflow Foundation installiert nicht die Datenbanken, die von diesen Diensten benötigt werden. Das Setup installiert jedoch die SQL-Skripte zum Erstellen und Konfigurieren der Datenbanken für diese Dienste.

So erstellen Sie die SQL-Überwachungsdatenbank

  • Erstellen Sie mit Microsoft SQL Server 2005 Express, SQL Server 2000 oder höheren Versionen oder SQL Server 2000 Desktop Engine (MSDE) eine neue Datenbank mit dem Namen Tracking, indem Sie die folgende SQL-Abfrageanweisung verwenden:

    CREATE DATABASE Tracking
    

Tipp

Wenn Sie SqlTrackingService und SqlWorkflowPersistenceService in einer Workflowanwendung verwenden, empfiehlt sich die Verwendung einer einzigen Datenbank für Persistenz und Verfolgung.

  1. Wählen Sie im SQL Query Analyzer-Arbeitsbereich die in Schritt 1 erstellte Datenbank aus der Liste der verfügbaren Datenbanken aus.

  2. Klicken Sie im Menü Datei auf Öffnen, und öffnen Sie das SQL-Skript %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<Sprache>\Tracking_Schema.sql.

  3. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken oder F5 drücken, um die Tabellen des SQL-Überwachungsdiensts zu erstellen.

  4. Klicken Sie im Menü Datei auf Öffnen, und öffnen Sie das SQL-Skript %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<Sprache>\Tracking_Logic.sql.

  5. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken oder F5 drücken, um die gespeicherten Prozeduren des SQL-Überwachungsdiensts zu erstellen.

So erstellen Sie das Beispiel

  1. Laden Sie das Beispiel herunter, indem Sie auf Beispiel downloaden klicken.

    Hierdurch wird das Beispielprojekt auf die lokale Festplatte extrahiert.

  2. Klicken Sie auf Start, zeigen Sie auf Programme, zeigen Sie auf Microsoft Windows SDK, und klicken Sie dann auf CMD Shell.

  3. Wechseln Sie zum Quellverzeichnis des Beispiels.

  4. Geben Sie an der Eingabeaufforderung MSBUILD <Name der Projektmappendatei> ein.

So führen Sie das Beispiel aus

  • Führen Sie im Eingabeaufforderungsfenster des SDKs die EXE-Datei im Ordner SimpleTrackingSample\bin\debug aus (bzw. im Ordner SimpleTrackingSample\bin für die VB-Version des Beispiels), der sich unter dem Hauptordner des Beispiels befindet.

Siehe auch

Referenz

SqlTrackingService
SqlTrackingQuery
SqlTrackingWorkflowInstance
ActivityEvents
ActivityTrackingRecord
WorkflowEvents
WorkflowTrackingRecord

Weitere Ressourcen

Überwachungsbeispiele
Beispiel für die Abfrage mit SQLTrackingService
Beispiel für das Überwachen mit Benutzerüberwachungspunkten
EventArgs-Überwachungsbeispiel
ConsoleTrackingService-Beispiel
Beispiel für die Abfrage mit SQLTrackingService
RuleActionTrackingEvent-Beispiel
Beispiel für einen Dateiüberwachungsdienst und Abfrage
Beispiel für das Verwenden des Überwachungsprofil-Objektmodells
Beispiel für die SQL-Datenpflege

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.