1

是否有可能控制这种讨厌的行为?我正在尝试在循环(While)活动中执行()我编写的一些有状态活动(在每次执行时增加索引的活动)。WF 引擎在每次迭代时都在克隆我的活动。由于克隆是由模板活动而不是最新克隆的活动制成的,因此正在重置索引属性。我的目标是运行 while 活动,然后调用一些 PrintActivty 来打印我自己的活动索引。我尝试过使用肮脏的方式并更新模板,它适用于第一级嵌套,但是当我尝试在内部运行时它不起作用。

ps - 我从我的活动的 Execute() 中获取模板:

   var template = this.WFActivity.GetActivityByName(this.QualifiedName);

WFActivity 是设置为指向 WF 根活动的属性。

4

1 回答 1

1

您不能禁用活动克隆,因为它是活动执行方式的固有部分。

解决此问题的方法是在您的活动中使用依赖属性来存储索引值。现在,在工作流中,您可以将索引属性绑定到更高级别的属性或字段,例如工作流本身,并且值将存储在那里而不是活动的克隆副本中。

于 2009-10-03T20:06:20.177 回答