ParallelForEach<T> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
列舉集合的元素,並對每個集合的元素執行嵌入的語句。
generic <typename T>
public ref class ParallelForEach sealed : System::Activities::NativeActivity
[System.Windows.Markup.ContentProperty("Body")]
public sealed class ParallelForEach<T> : System.Activities.NativeActivity
[<System.Windows.Markup.ContentProperty("Body")>]
type ParallelForEach<'T> = class
inherit NativeActivity
Public NotInheritable Class ParallelForEach(Of T)
Inherits NativeActivity
類型參數
- T
集合中 Values 提供的值類型。
- 繼承
- 屬性
範例
以下程式碼範例示範建立一項 ParallelForEach<T> 活動。 此範例來自 企業採購流程 範例。
// invite all vendors and wait for their proposals
new ParallelForEach<Vendor>
{
DisplayName = "Get vendor proposals",
Values = new InArgument<IEnumerable<Vendor>>(ctx =>this.Rfp.Get(ctx).InvitedVendors),
Body = new ActivityAction<Vendor>()
{
Argument = iterationVariableVendor,
Handler = new Sequence
{
Variables = { tmpValue },
Activities =
{
// waits for a vendor proposal (creates a bookmark for a vendor)
new WaitForVendorProposal
{
VendorId = new LambdaValue<int>(ctx =>iterationVariableVendor.Get(ctx).Id) ,
Result = new OutArgument<double>(tmpValue)
},
// after the vendor proposal is received, it is registered in the Request for Proposals
new InvokeMethod
{
TargetObject = new InArgument<RequestForProposal>(ctx =>this.Rfp.Get(ctx)),
MethodName = "RegisterProposal",
Parameters =
{
new InArgument<Vendor>(iterationVariableVendor),
new InArgument<double>(tmpValue)
}
},
}
}
}
},
備註
這些嵌入式敘述會一起排程並非同步執行,但除非排程活動本身是非同步的(例如訊息活動, InvokeMethod或源自 AsyncCodeActivity的活動),否則它們不會在獨立執行緒上執行,因此每個後續活動只會在先前排程活動完成或閒置時執行。 如果該活動的子活動都不是非同步或閒置,則該活動會以與活動 ForEach<T> 相同的方式執行。
建構函式
| 名稱 | Description |
|---|---|
| ParallelForEach<T>() |
建立一個新的類別實例 ParallelForEach<T> 。 |
屬性
| 名稱 | Description |
|---|---|
| Body |
ActivityAction該 that 對集合中包含的Values每個值執行一次。 |
| CacheId |
取得在工作流程定義範圍內唯一且快取識別碼的識別碼。 (繼承來源 Activity) |
| CanInduceIdle |
取得或設定一個值,指示該活動是否會導致工作流程進入閒置狀態。 (繼承來源 NativeActivity) |
| CompletionCondition |
每次迭代完成後評估。 |
| Constraints |
取得一組 Constraint 可設定以驗證 的 Activity活動集合。 (繼承來源 Activity) |
| DisplayName |
取得或設定一個可選的友善名稱,用於除錯、驗證、異常處理及追蹤。 (繼承來源 Activity) |
| Id |
取得一個在工作流程定義範圍內唯一的識別碼。 (繼承來源 Activity) |
| Implementation |
活動的執行邏輯。 (繼承來源 NativeActivity) |
| ImplementationVersion |
取得或設定活動的實作版本。 (繼承來源 NativeActivity) |
| Values |
用於每次活動迭代所包含 Body的參數的值集合。 |