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