The Transaction Scope Activity guarantees that its transaction is either committed or rolled back in case of failure. It uses the
TransactionScope object which means that any objects that implement the
ITransaction interface can be included within a transaction. When all the contained Activities are completed the transaction is committed and the workflow proceeds. If an exception is thrown within the transaction’s scope an automatic ‘rollback’ is performed. The transaction can also be rolled back if the TimeoutDuration property is reached. The Isolation level of the transactions can also be set using the IsolationLevel property (see
System.transactions.isolationlevel). For more information on transactions see Workflow Basics – Transactions.