TransactionScope Class

.NET Framework 4.6 and 4.5

An activity that demarcates a transaction boundary.

System.Object
  System.Activities.Activity
    System.Activities.NativeActivity
      System.Activities.Statements.TransactionScope

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

'Declaration
<ContentPropertyAttribute("Body")> _
Public NotInheritable Class TransactionScope _
	Inherits NativeActivity

The TransactionScope type exposes the following members.

  NameDescription
Public methodTransactionScopeInitializes a new instance of the TransactionScope class.
Top

  NameDescription
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.
Top

  NameDescription
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.)
Top

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.

NoteNote

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.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft