CorrelationScope 类

定义

对子消息传递活动进行隐式 CorrelationHandle 管理。

public ref class CorrelationScope : System::Activities::NativeActivity
public class CorrelationScope : System.Activities.NativeActivity
type CorrelationScope = class
    inherit NativeActivity
Public Class CorrelationScope
Inherits NativeActivity
继承
CorrelationScope

示例

下面的示例演示如何创建一个 CorrelationScope。 本示例创建 Sequence 并添加 CorrelationScope 其他活动) (。 CorrelationScope 包含一个 Sequence,后者由 SendReceiveReply 活动组成。

return new Sequence
{
    Variables = { po, customer },
    Activities =
    {
        new Assign<PurchaseOrder>
        {
            To = po,
            Value = new InArgument<PurchaseOrder>( (e) => new PurchaseOrder() { PartName = "Widget", Quantity = 150 } )
        },
        new Assign<Customer>
        {
            To = customer,
            Value = new InArgument<Customer>( (e) => new Customer() { Id = 12345678, Name = "John Smith" } )
        },
        new WriteLine { Text = new InArgument<string>( (e) => string.Format("Submitting new PurchaseOrder for {0} {1}s", po.Get(e).Quantity, po.Get(e).PartName) ) },
        new CorrelationScope
        {
            Body = new Sequence
            {
                Activities =
                {
                    submitPO,
                    new ReceiveReply
                    {
                        Request = submitPO,
                        Content = ReceiveContent.Create(new OutArgument<int>( (e) => po.Get(e).Id ))
                    }
                }
            }
        },
        new WriteLine { Text = new InArgument<string>( (e) => string.Format("Received ID for new PO: {0}", po.Get(e).Id) ) },
        new Assign<int> { To = new OutArgument<int>( (e) => po.Get(e).Quantity ), Value = 250 },
        new WriteLine { Text = "Updated PO with new quantity: 250.  Resubmitting updated PurchaseOrder based on POId." },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.UpdatePOName,
            Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
        },
        new Assign<int>
        {
            To = new OutArgument<int>( (e) => po.Get(e).CustomerId ),
            Value = new InArgument<int>( (e) => customer.Get(e).Id )
        },
        new WriteLine { Text = "Updating customer data based on CustomerId." },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.AddCustomerInfoName,
            Content = SendContent.Create(new InArgument<PurchaseOrder>(po))
        },
        new Send
        {
            Endpoint = clientEndpoint,
            ServiceContractName = Constants.POContractName,
            OperationName = Constants.UpdateCustomerName,
            Content = SendContent.Create(new InArgument<Customer>(customer))
        },
        new WriteLine { Text = "Client completed." }
    }
};

注解

CorrelationScope 活动维护一个仅对子活动可见的隐式 CorrelationHandle。 当用户设置 CorrelatesWith 属性时,它将用作 CorrelationScope 隐式句柄。 对于嵌套 CorrelationScope,内部范围的子项无法访问外部范围的隐式句柄。

构造函数

CorrelationScope()

初始化 CorrelationScope 类的新实例。

属性

Body

获取或设置活动的执行逻辑。

CacheId

获取缓存的标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
CanInduceIdle

获取或设置一个值,该值指示活动是否会使工作流进入空闲状态。

(继承自 NativeActivity)
Constraints

获取可配置的 Constraint 活动的集合,用于为 Activity 提供验证。

(继承自 Activity)
CorrelatesWith

获取或设置子消息传递活动使用的 CorrelationHandle

DisplayName

获取或设置用于调试、验证、异常处理和跟踪的可选友好名称。

(继承自 Activity)
Id

获取一个标识符,该标识符在工作流定义的作用域内是唯一的。

(继承自 Activity)
Implementation

活动的执行逻辑。

(继承自 NativeActivity)
ImplementationVersion

获取或设置活动的实现版本。

(继承自 NativeActivity)

方法

Abort(NativeActivityAbortContext)

在派生类中实现时,采取措施响应要放弃的活动。

(继承自 NativeActivity)
CacheMetadata(ActivityMetadata)

未实现。 请改用 CacheMetadata(NativeActivityMetadata) 方法。

(继承自 NativeActivity)
CacheMetadata(NativeActivityMetadata)

创建并验证活动的自变量、变量、子活动和活动委托的描述。

Cancel(NativeActivityContext)

在派生类中实现时,运行逻辑以正常方式提前实现活动。

(继承自 NativeActivity)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Execute(NativeActivityContext)

由工作流运行时调用,用于执行 CorrelationScope 活动。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

为动态更新创建映射时,将引发事件。

(继承自 NativeActivity)
OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

为动态更新创建映射时,将引发事件。

(继承自 NativeActivity)
ShouldSerializeCorrelatesWith()

指示是否应序列化 CorrelatesWith 属性。

ShouldSerializeDisplayName()

指示是否应序列化 DisplayName 属性。

(继承自 Activity)
ToString()

返回包含 StringIdDisplayNameActivity

(继承自 Activity)
UpdateInstance(NativeActivityUpdateContext)

更新 NativeActivity 的该实例。

(继承自 NativeActivity)

适用于