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