为什么在每个循环迭代中,子活动的ActivityId不会更改

时间:2014-06-10 13:35:47

标签: workflow-foundation-4 workflow-foundation

我正在使用Windows Workflow 4.0,并且有一个简单的工作流程,在序列中我有一个ForEach活动,其中包含另一个包含在远程客户端上执行某些操作的子活动的ForEach活动。

我正在捕获活动预定跟踪记录(以及几乎所有其他跟踪记录类型)。

我的目标是使用这些活动计划跟踪记录来创建一个页面,我显示每个活动以及执行的时间(类似于TFS构建信息屏幕的外观)。

我的问题是,当查看ForEach孩子的子活动ID时,他们会为循环的每次迭代分配相同的Id。因此,我无法准确地将任何跟踪事件与特定孩子进行匹配。换句话说,嵌套ForEach的子进行远程处理,生成与活动ID绑定的日志。我无法将这些日志与循环中的特定活动进行匹配。

有什么我想念的吗?我认为活动ID应该在整个工作流程中都是唯一的。

1 个答案:

答案 0 :(得分:0)

事实证明,在ActivityInfo对象上还有一个额外的属性,我没有"跟踪"。 InstanceId不引用工作流实例ID,而是引用ActivityId的实例。

基本上,你在图表中只有一个活动,但它可以有多个实例(如果我正确理解这一点)。