Freigeben über


Verarbeitung von Workflowaktivitäten durch SharePoint Foundation

Letzte Änderung: Freitag, 16. April 2010

Gilt für: SharePoint Foundation 2010

Es ist wichtig, zu verstehen, wie von Microsoft SharePoint FoundationSharePoint Foundation-spezifische Workflowaktivitäten in einer ausgeführten Workflowinstanz verarbeitet werden.

Der Workflow wird von SharePoint Foundation bis zu einem Punkt ausgeführt, an dem auf ein Ereignis gewartet wird: z. B., wenn ein Benutzer einen Vorgang als abgeschlossen erklären muss. Erst an diesem "Commit-Punkt" werden von SharePoint Foundation die in den vorherigen SharePoint Foundation-spezifischen Workflowaktivitäten ausgeführten Änderungen übernommen. Die Änderungen werden in einer einzelnen SQL-Transaktion zwischengespeichert. Dieser Ansatz hat zwei wesentliche Vorteile:

  • Das Zwischenspeichern der Änderungen in einer einzelnen SQL-Transaktion wirkt sich weniger auf die Leistung aus als das Zwischenspeichern jeder aufgetretenen Änderung als separate Transaktion.

  • Wenn beim Commit einer Änderung ein Fehler auftritt, werden von SharePoint Foundation alle Änderungen bis zum vorigen "Commit-Punkt" rückgängig gemacht. Dadurch wird Entwicklern das Erstellen von Ausnahmehandlern und Kompensationshandlern für Windows SharePoint Services-spezifische Workflowaktivitäten erheblich erleichtert.

Wenn das Ereignis, auf das im Workflow gewartet wird, eintritt, wird die Ausführung des Workflows von SharePoint Foundation fortgesetzt. Der Workflow wird ausgeführt, bis ein weiteres Ereignis erreicht wird oder der Workflow endet. An diesem Punkt wird von SharePoint Foundation ein Commit für alle Änderungen ausgeführt, die von SharePoint Foundation-spezifischen Workflowaktivitäten seit dem letzten Commit-Punkt vorgenommen wurden. Der Vorgang wird fortgesetzt, bis der Workflow abgeschlossen ist oder vom Benutzer beendet wird.

Dieser Ansatz kann Auswirkungen auf Workflows haben, die Code-Aktivitäten gemischt mit SharePoint Foundation-spezifischen Workflowaktivitäten enthalten. Während die Schreibvorgänge für die SharePoint Foundation-spezifischen Workflowaktivitäten zwischengespeichert und erst an einem Commit-Punkt übernommen werden, wird für Schreibvorgänge, die in Code-Aktivitäten eingeschlossen sind, sofort bei ihrem Auftreten ein Commit ausgeführt. Zudem verfügen Code-Aktivitäten nicht über die implizite Rollbackfunktion von SharePoint Foundation-spezifischen Workflowaktivitäten. Wenn Sie für diese eine Fehlerbehandlung benötigen, müssen Sie Ausnahme- und Kompensationshandler für diese Aktivitäten schreiben.

Siehe auch

Konzepte

Workflowaktivitäten für SharePoint Foundation

Korrelationstoken in Workflows

Workflowinitiierung in SharePoint Foundation