views:

378

answers:

1

what is the difference between Long Running transaction type and None transaction type, set for an orchestration or a scope. One difference that I know is that Long Running transaction can have compensation block.

+3  A: 

A scope with no transaction is usually used as a try/catch block just to handle exceptions. A long running transaction scope is, well, a transaction, which as you point out can have compensation blocks associated with it to "undo" its work.

Most commonly, a long running transaction isn't used in isolation... it will contain nested transactions (both atomic and long running on their own), with the outer transaction coordinating through compensations the undoing of any nested transactions not automatically rolled back.

tomasr