CompensableActivity Class

.NET Framework 4.6 and 4.5

An activity that supports compensation of its child activities.

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

<ContentPropertyAttribute("Body")> _
Public NotInheritable Class CompensableActivity _
	Inherits NativeActivity(Of CompensationToken)

The CompensableActivity type exposes the following members.

Public methodCompensableActivityInitializes a new instance of the CompensableActivity class.

Public propertyBodyGets or sets the activity that is scheduled when the CompensableActivity executes.
Protected propertyCacheIdGets the identifier of the cache that is unique within the scope of the workflow definition. (Inherited from Activity.)
Public propertyCancellationHandlerGets or sets the activity that is scheduled when the activity is canceled.
Public propertyCompensationHandlerGets or sets the activity that is scheduled when compensation is performed on the CompensableActivity.
Public propertyConfirmationHandlerGets or sets the activity that is scheduled when confirmation is performed for this CompensableActivity.
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(Of TResult).)
Public propertyResultGets or sets the result argument for the Activity(Of TResult). (Inherited from Activity(Of TResult).)
Public propertyResultTypeWhen implemented in a derived class, gets the type of an activity OutArgument. (Inherited from ActivityWithResult.)
Public propertyVariablesGets the collection of Variable objects for this CompensableActivity.

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 methodToStringReturns a String that contains the Id and DisplayName of the Activity. (Inherited from Activity.)

CompensableActivity allows a developer to specify a Body activity that defines a long-running task that performs their core business logic. It also allows the developer to optionally specify a compensation and confirmation activity to schedule appropriate business logic in the event of errors or successful completion of the Body. Compensation and confirmation of a CompensableActivity is invoked by using the CompensationToken returned by the CompensableActivity. CompensationToken is an opaque, typed object returned as the Result argument after successful completion of a CompensableActivity activity’s Body. This CompensationToken is used by the Confirm and Compensate activities to explicitly invoke confirmation and compensation of a CompensableActivity. CompensableActivity can be composed in a nested hierarchical fashion in the workflow. For more information, seeCompensation Programming Model.

.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
© 2015 Microsoft