Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
CorrelationHandle Class

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>]
type CorrelationHandle =  
    class
        inherit Handle
    end

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 a hash function for a particular type. (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

provides four types of correlation: Content Based, Request-Reply, Durable Duplex, and Context Exchange. 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 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

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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.

Community Additions

ADD
Show:
© 2015 Microsoft