为每个循环活动
发布日期: 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) 活动具有两个附加属性︰ 当前项 和 属性设置为绑定。 针对循环容器内的每个活动,请设置这些属性,如下所示:
设置 当前项 到 当前项 属性 循环容器 活动 ForEach 活动。 请注意,如果此活动中的第一个活动 For Each 循环 活动, 当前项 自动设置。
值设置 属性设置为绑定 属性设置为当前使用的活动的属性的值 当前项 值。
两种类型的活动不会收到 当前项 和 属性设置为绑定 属性,因此无法使用输入集合中的对象 ︰
脚本活动,如 Windows PowerShell 脚本 活动。
自定义活动或其他活动将不会继承从 WorkflowActivityBase 类。 此类活动包括在基于这些活动 活动 基类,如本机 Visual Studio 活动。
设计时必备组件
无。
运行时必备组件
无。
属性
For Each 循环 活动使用下表中描述的输入的属性。
显示名称 | 内部名称 | 类型 | 必需 | 描述 |
---|---|---|---|---|
输入集合 | InputCollection | 数组/对象 | 不适用 | 要将传递,对中的活动,一次一个的对象集合 For Each 循环 活动。 如果驻留在输入容器活动都会产生一个对象数组作为其输出 输入集合 自动设置为该属性。 要查看此属性的当前值,请右键单击循环容器,然后单击 属性。 |
当前项 | CurrentItem | 对象 | 不适用 | 中的索引 输入集合 在循环内的活动可用作一个输入属性。 对于循环容器中的第一个活动,将自动设置此属性。 |
错误和异常
For Each 循环 活动使用提供的自定义跟踪服务 Service Manager 当活动运行时记录错误和异常。 在以下情况下,该活动将生成错误或异常:
如果任何错误发生在 ForEachLoop 活动,不带有子活动,工作流终止。
如果子活动中发生任何错误,工作流终止除非 ContinueOnError= true。
如果任一输入属性为 null。 活动不迭代。
中的每个活动 For Each 循环 活动必须将其自己的错误或异常写入到自定义跟踪服务。 For Each 循环 活动不本身。
备注
无。
示例
无。