Beispiel für das dynamische Aktualisieren aus dem Workflow

Download sample

Dieses Beispiel veranschaulicht, wie eine Workflowinstanz dynamisch aktualisiert wird, wenn sie innerhalb eines Workflows ausgeführt wird (Code-Beside).

Der Workflow empfängt eine Bestellung für eine bestimmte Summe. Der Workflow genehmigt die Bestellung automatisch, wenn die Summe weniger als $ 1000 beträgt. Wenn die Summe höher als $ 1000 ist, ist eine Bestellgenehmigung erforderlich. Dies wird umgesetzt, indem eine InvokeWorkflowActivity-Aktivität dynamisch aus dem Workflow in seinen Code-Beside-Bereich eingefügt wird. Durch das Aufrufen eines anderen Workflows können Sie Genehmigungsanfragenlogik in einem Workflow kapseln. Die Genehmigungslogik kann jedoch auch inline durchgeführt werden.

Wenn Sie das Beispiel erstellen und ausführen, erhalten Sie eine Ausgabe ähnlich der folgenden:

Ausgabe des Beispiels für das dynamische Aktualisieren

Datenbankkonfiguration

Die von Windows Workflow Foundation installierten SQL Server-Dienste verwenden Microsoft SQL Server zum Speichern von Informationen. Sie können für diese Aufgaben Microsoft SQL Server 2005 Express, SQL Server 2000 oder höhere Versionen oder 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.

Anhand der folgenden Schritte wird beschrieben, wie Sie die von den Diensten in diesem Beispiel verwendeten Datenbanken erstellen und konfigurieren.

So erstellen und konfigurieren Sie die SQL Server-Datenbank

  • 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 SqlPersistenceService, indem Sie die folgende SQL-Abfrageanweisung verwenden:

    CREATE DATABASE SqlPersistenceService

    .

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>\SqlPersistenceService_Schema.

  3. Führen Sie die Abfrage aus, indem Sie auf Ausführen klicken oder F5 drücken, um die SQL Persistence Service-Tabellen 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>\SqlPersistenceService_Logic.

  5. 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 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 DynamicUpdateFromWorkflow\bin\debug aus (bzw. im Ordner DynamicUpdateFromWorkflow\bin für die VB-Version des Beispiels), der sich unter dem Hauptordner des Beispiels befindet.

Siehe auch

Referenz

WorkflowChanges
ApplyWorkflowChanges

Weitere Ressourcen

Using Dynamic Updates in Workflows
Applying Dynamic Updates to Workflows
Beispiele für dynamische Aktualisierungen
Beispiel für das dynamische Aktualisieren vom Host
Dynamic Updates to Rule Conditions

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.