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> 活動相同的方式來執行此活動。
建構函式
ParallelForEach<T>() |
建立 ParallelForEach<T> 類別的新執行個體。 |
屬性
Body |
針對 ActivityAction 集合中包含的每個值執行一次的 Values。 |
CacheId |
取得工作流程定義範圍內的唯一快取識別碼。 (繼承來源 Activity) |
CanInduceIdle |
取得或設定值,這個值指出此活動是否會造成工作流程變為閒置。 (繼承來源 NativeActivity) |
CompletionCondition |
在每個反覆運算完成之後評估。 |
Constraints |
取得 Constraint 活動的集合,這些活動可以設定為提供 Activity 的驗證。 (繼承來源 Activity) |
DisplayName |
取得或設定選擇性的易記名稱,這個名稱會用於偵錯、驗證、例外狀況處理及追蹤。 (繼承來源 Activity) |
Id |
取得工作流程定義範圍內的唯一識別碼。 (繼承來源 Activity) |
Implementation |
活動的執行邏輯。 (繼承來源 NativeActivity) |
ImplementationVersion |
取得或設定活動的實作版本。 (繼承來源 NativeActivity) |
Values |
做為 Body 包含的每個活動反覆項目之參數使用的值集合。 |