Export (0) Print
Expand All

CorrelationHandle Class

Associates activities together in a correlation by representing a particular shared InstanceKey or transient context in the workflow.

System.Object
  System.Activities.Handle
    System.ServiceModel.Activities.CorrelationHandle

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

[DataContractAttribute]
public class CorrelationHandle : Handle

The CorrelationHandle type exposes the following members.

  NameDescription
Public methodCorrelationHandleInitializes a new instance of the CorrelationHandle class.
Top

  NameDescription
Public propertyExecutionPropertyNameGets the name to be used by this Handle when added to an activity’s execution properties. (Inherited from Handle.)
Public propertyOwnerGets the ActivityInstance that contains the Variable that contains the Handle. (Inherited from Handle.)
Top

  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnInitializeRegisters the CorrelationHandle with the workflow runtime. (Overrides Handle.OnInitialize(HandleInitializationContext).)
Protected methodOnUninitializeUnregisters the CorrelationHandle with the workflow runtime. (Overrides Handle.OnUninitialize(HandleInitializationContext).)
Protected methodThrowIfUninitializedThrows an InvalidOperationException if the Handle has not been initialized. (Inherited from Handle.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

Windows Workflow Foundation (WF) provides four types of correlation: Content Based Correlation, Request-Reply Correlation, Durable Duplex Correlation, and Context Exchange Correlation. For more information about correlation, see Correlation Overview, the specific correlation types mentioned previously, and the correlation samples located in the Services node of the WF samples.

The runtime uses the CorrelationHandle for correlation if it is present, otherwise the CorrelatesWith property of the messaging activity will be used. If both are absent, the ambient handle provided by CorrelationScope or the workflow service is used.

The following example shows how to set the CorrelationHandle on a SendReply activity.

new SendReply
{
    DisplayName = "Send Adjusted Cost",
    Request = prescriptionRequest,
    // Initialize the orderHandle using the MessageQuerySet to correlate with the final GetAdjustedCost request
    CorrelationInitializers = 
    {
        new QueryCorrelationInitializer
        {
            CorrelationHandle = orderHandle,
            MessageQuerySet = GetOrderQuerySet
        }
    },
    Content = SendContent.Create(new InArgument<Order>((e) => order.Get(e)))
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4

.NET Framework Client Profile

Supported in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

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