CorrelationScope 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
針對子傳訊活動提供隱含的 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。 此範例會建立 , Sequence 並在 CorrelationScope 其他活動) 新增 (。 CorrelationScope 包含由 Sequence 和 Send 活動組成的 ReceiveReply。
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) |