Beispiel für das Auslösen eines Ereignisses zum Laden eines Workflows

Download sample

Um ein Dokument zur Genehmigung zu senden, verwendet der Workflow in diesem Beispiel die CallExternalMethodActivity-Aktivität, die an die RequestDocumentApproval-Methode von DocumentApprovalInterface gebunden ist. Die nächste Aktivität im Workflow ist eine HandleExternalEventActivity-Aktivität, die ein DocumentApproved-Ereignis behandelt.

Die Laufzeit ist so konfiguriert, dass sie Workflowinstanzen immer dann entlädt, wenn sich der Workflow im Leerlauf befindet, das heißt, wenn die Instanz keine Arbeit durchzuführen hat. Dies ist eine wichtige Funktion, da die HandleExternalEventActivity-Aktivität möglicherweise sehr lange auf die Dokumentgenehmigung wartet (möglicherweise Tage oder Wochen).

DocumentApprovalInterface definiert die Methoden und Ereignisse zum Senden und Empfangen von Dokumentgenehmigungen. Die DocumentApprovalService-Klasse implementiert DocumentApprovalInterface als Proxy für Methodenaufrufe und Ereignisbehandlung, durch die Daten in bzw. aus dem Workflow und die Hostanwendung geleitet werden.

Der Workflow initiiert das Dokumentgenehmigungsverfahren, in dem ein zu genehmigendes Dokument über die RequestDocumentApproval-Methode gesendet wird, die das Dokument dann an das Ziel (nicht implementiert) sendet. Der OnWorkflowIdled-Ereignishandler des Hosts wird aufgerufen, wenn der Workflow in den Leerlauf übergeht. Gleichzeitig entlädt die Laufzeit die Workflowinstanz über den FilePersistenceService. Im WorkflowIdled-Handler wird das DocumentApproved-Ereignis für den Workflow ausgelöst. Das DocumentApproved-Ereignis wird dem HandleExternalEventActivity documentApprovedInvoked-Handler zugestellt.

Das Beispiel verwendet außerdem einen benutzerdefinierten Persistenzdienst (FilePersistenceService), der den Workflowstatus in einer Datei serialisiert.

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

Auslösen eines Ereignisses zum Laden eines Workflows

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 RaiseEventToLoadWorkflow.sln ein.

So führen Sie das Beispiel aus

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

Siehe auch

Weitere Ressourcen

Hosting-Beispiel

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.