Share via


Verwenden der CompensatableTransactionScopeActivity-Aktivität

Die CompensatableTransactionScopeActivity-Aktivität ist eine kompensierbare Version der TransactionScopeActivity-Aktivität. CompensatableTransactionScopeActivity implementiert die ICompensatableActivity-Schnittstelle.

Die CompensatableTransactionScopeActivity-Aktivität ist hilfreich beim Erstellen von Sagas oder mehrteiliger Arbeit, wo es sich bei jedem Teil um eine Transaktion handelt, die bei Fehlschlagen eines Teils rückgängig gemacht werden sollte. Die Arbeit wird rückgängig gemacht und nicht transaktional in einer Saga zurückgesetzt, da für jede beliebige Anzahl von Arbeitsbestandteilen vor dem Fehler eine erfolgreiche Ausführung eines Commits möglich gewesen wäre.

Beispiel: In einem Szenario, in dem ein Reisebüromitarbeiter Flüge, Hotels und Autos als Teil eines Ferienangebots buchen muss, würde jede Aktivität zur Reservierungsbuchung in einer CompensatableTransactionScopeActivity-Aktivität platziert. Falls ein Hotel und ein Flug gebucht wurden, beim Buchen der Autoreservierung jedoch eine Ausnahme aufgetreten ist, kann es sinnvoll sein, während der Ausführung die Reservierungen für den Flug und das Hotel rückgängig zu machen. Diese Abbruchfunktion würde in der entsprechenden CompensationHandlerActivity-Aktivität der CompensatableTransactionScopeActivity-Aktivität platziert.

Informationen zum Verhalten einer TransactionScopeActivity-Aktivität finden Sie unter Verwenden der TransactionScopeActivity-Aktivität.

Informationen zur Kompensierung finden Sie unter Verwenden der CompensateActivity-Aktivität und unter Verwenden der CompensationHandlerActivity-Aktivität.

Ein Codebeispiel, in dem die Verwendung der Kompensierung veranschaulicht wird, finden Sie unter Compensation Sample.

Siehe auch

Referenz

TransactionScopeActivity
CompensateActivity
CompensationHandlerActivity
ICompensatableActivity
CompensatableSequenceActivity
CompensatableTransactionScopeActivity

Konzepte

Verwenden der TransactionScopeActivity-Aktivität
Verwenden von Kompensierung in Workflows
Verwenden der CompensateActivity-Aktivität
Verwenden der CompensationHandlerActivity-Aktivität
Verwenden der CompensatableSequenceActivity-Aktivität
Übersicht über die Kompensierung

Weitere Ressourcen

Compensation Sample
Windows Workflow Foundation-Aktivitäten

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.