Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

TransactionScope Class

.NET Framework 4.6 and 4.5

An activity that demarcates a transaction boundary.


Namespace:  System.Activities.Statements
Assembly:  System.Activities (in System.Activities.dll)

public sealed class TransactionScope : NativeActivity

The TransactionScope type exposes the following members.

Public methodTransactionScopeInitializes a new instance of the TransactionScope class.

Public propertyAbortInstanceOnTransactionFailureGets or sets the value that indicates whether the workflow should be aborted if the transaction aborts.
Public propertyBodyGets or sets the activity that is scheduled when the TransactionScope executes.
Protected propertyCacheIdGets the identifier of the cache that is unique within the scope of the workflow definition. (Inherited from Activity.)
Public propertyDisplayNameGets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking. (Inherited from Activity.)
Public propertyIdGets an identifier that is unique in the scope of the workflow definition. (Inherited from Activity.)
Protected propertyImplementationVersionGets or sets the implementation version of the activity. (Inherited from NativeActivity.)
Public propertyIsolationLevelGets or sets the IsolationLevel for this TransactionScope.
Public propertyTimeoutGets or sets the TimeSpan that indicates the timeout period for the transaction used for this TransactionScope.

Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodShouldSerializeDisplayNameIndicates whether the DisplayName property should be serialized. (Inherited from Activity.)
Public methodShouldSerializeIsolationLevelIndicates whether the IsolationLevel for this TransactionScope should be serialized.
Public methodShouldSerializeTimeoutIndicates whether the Timeout for this TransactionScope should be serialized.
Public methodToStringReturns a String that contains the Id and DisplayName of the Activity. (Inherited from Activity.)

When this activity begins executing, a new Transaction is started if one does not already exist. The transaction commits when the activity and all other participants in the transaction have completed successfully.


The Finally activity member of a TryCatch activity that is the child of a TransactionScope will not execute if an unhandled exception propagates past the TransactionScope boundary.

The following code sample demonstrates creating a TransactionScope activity. This example is from the Nesting of TransactionScope sample.

new TransactionScope
    Body = new Sequence
        Activities = 
            new WriteLine { Text = "    Begin TransactionScope" },

            new PrintTransactionId(),

            new TransactionScopeTest(),

            new WriteLine { Text = "    End TransactionScope" },

.NET Framework

Supported in: 4.6, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft