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其中的每个活动的迭代的参数。 |