为每个循环活动

 

发布日期: 2016年7月

适用于: System Center 2012 SP1 - Service Manager,System Center 2012 R2 Service Manager,System Center 2012 - Service Manager

For Each 循环 活动使用作为输入数组 (集合) 的对象,并为集合中每个对象重复循环内的活动集。 例如,如果输入集合包含五个对象,则循环将迭代五次。 如果该集合为空,则循环不会迭代。 集合中的对象数目没有上限。 For Each 循环 活动始终运行工作流的计算机上运行。

For Each 循环 活动是复合活动的活动的两个容器 ︰

  • 输入容器︰ 此活动将设置循环,并定义输入的集合。 您可以使用 获取事件获取虚拟机 此角色中的活动。

  • 循环容器︰ 名为 ForEachChildActivity, ,此活动包含循环活动。 放置在此容器中的大多数 Windows Workflow Foundation (WF) 活动具有两个附加属性︰ 当前项属性设置为绑定。 针对循环容器内的每个活动,请设置这些属性,如下所示:

    1. 设置 当前项当前项 属性 循环容器 活动 ForEach 活动。 请注意,如果此活动中的第一个活动 For Each 循环 活动, 当前项 自动设置。

    2. 值设置 属性设置为绑定 属性设置为当前使用的活动的属性的值 当前项 值。

    两种类型的活动不会收到 当前项属性设置为绑定 属性,因此无法使用输入集合中的对象 ︰

    • 脚本活动,如 Windows PowerShell 脚本 活动。

    • 自定义活动或其他活动将不会继承从 WorkflowActivityBase 类。 此类活动包括在基于这些活动 活动 基类,如本机 Visual Studio 活动。

设计时必备组件

无。

运行时必备组件

无。

属性

For Each 循环 活动使用下表中描述的输入的属性。

显示名称 内部名称 类型 必需 描述
输入集合 InputCollection 数组/对象 不适用 要将传递,对中的活动,一次一个的对象集合 For Each 循环 活动。 如果驻留在输入容器活动都会产生一个对象数组作为其输出 输入集合 自动设置为该属性。 要查看此属性的当前值,请右键单击循环容器,然后单击 属性
当前项 CurrentItem 对象 不适用 中的索引 输入集合 在循环内的活动可用作一个输入属性。 对于循环容器中的第一个活动,将自动设置此属性。

错误和异常

For Each 循环 活动使用提供的自定义跟踪服务 Service Manager 当活动运行时记录错误和异常。 在以下情况下,该活动将生成错误或异常:

  • 如果任何错误发生在 ForEachLoop 活动,不带有子活动,工作流终止。

  • 如果子活动中发生任何错误,工作流终止除非 ContinueOnError= true。

  • 如果任一输入属性为 null。 活动不迭代。

中的每个活动 For Each 循环 活动必须将其自己的错误或异常写入到自定义跟踪服务。 For Each 循环 活动不本身。

备注

无。

示例

无。

另请参阅

删除控制流活动和 #91;SM2012_AuthoringGuide ]