Freigeben über


Beispiel für geschachtelte Ausnahmehandler

Download sample

Dieses Beispiel erläutert, wie Ausnahmehandler von Windows Workflow Foundation festgelegt und verwendet werden. Ausnahmen bieten eine strukturierte, einheitliche und typsichere Methode zum Behandeln von Fehlerbedingungen auf Workflow-, Aktivitäts- und Benutzerebene. Der Ausnahmemechanismus in Windows Workflow Foundation sind mit denen in C# vergleichbar. Er ermöglicht dem Entwickler, Ausnahmen auszulösen, Ausnahmen nach Typ abzufangen und Ausnahmen einer Variablen zuzuweisen.

Einem Workflow oder einer Aktivität, die das Verhalten von Ausnahmehandlern aktiviert, kann mehr als ein Ausnahmehandler zugeordnet sein. Hierdurch kann der Entwickler verschiedenen Handlercode basierend auf dem Ausnahmetyp verwenden. Ähnlich wie bei C# wird beim Auslösen einer Ausnahme der erste Ausnahmehandler in der Aufrufliste, der dem Ausnahmetyp entspricht, aufgerufen. Wenn zum Beispiel eine orderException-Ausnahme ausgelöst wird und keine Ausnahmebehandlung für diesen Typ vorhanden ist, wird die Ausnahme anhand eines beliebigen Ausnahmehandlers in der enthaltenenden Aktivität ausgewertet, bis die Workflowebene erreicht ist. Der Workflow wird nach der Ausführung des Workflowausnahmehandlers beendet oder wenn kein Handler auf Workflowebene verfügbar ist.

In diesem Beispiel enthält der Workflow eine FaultHandlersActivity-Aktivität. Hierbei handelt es sich um eine zusammengesetzte Aktivität, die die Ausnahmebehandlung unterstützt. Die SynchronizationScopeActivity-Aktivität enthält eine einzelne CodeActivity-Aktivität. Der Codehandler für die CodeActivity-Aktivität löst eine System.Exception aus. Die FaultHandlersActivity-Aktivität verfügt über einen Ausnahmehandler für System.Exception-Ausnahmen, die zum Behandeln dieser Ausnahme aufgerufen werden.

Verwenden des Beispiels

Um dieses Beispiel verwenden zu können, müssen Sie die SQL-Persistenzdatenbank erstellen.

So erstellen Sie die SQL-Persistenzdatenbank

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

    CREATE DATABASE SqlPersisenceService

    Hinweis   Wenn Sie sowohl SqlTrackingService als auch SqlWorkflowPersistenceService in einer Workflowanwendung verwenden, wird empfohlen, dass Sie eine einzige Datenbank für Persistenz und Überwachung verwenden.

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

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

  4. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken oder F5 drücken, um die SQL Persistence Service-Tabellen zu erstellen.

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

  6. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken oder F5 drücken, um die gespeicherten Prozeduren von SQL Persistence Service zu erstellen.

So erstellen Sie das Beispiel

  1. Laden Sie das Beispiel herunter, indem Sie in diesem Thema 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 OutlookWorkflowWizard\bin\debug aus (bzw. im Ordner OutlookWorkflowWizard\bin für die VB-Version des Beispiels), der sich unter dem Hauptordner des Beispiels befindet.

Siehe auch

Referenz

FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity

Weitere Ressourcen

Windows Workflow Foundation Activities
Auslösungsbeispiel
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
Beispiele für Aktivitäten
Windows Workflow Foundation-Beispiele

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.