是否有可能控制这种令人讨厌的行为? 我正在尝试执行()我在循环(While)活动中编写的一些有状态活动(在每次执行时增加索引的活动)。 WF引擎在每次迭代时克隆我的活动。由于克隆是由模板活动而非最新克隆的,因此正在重置索引属性。 我的目标是运行while活动,然后调用一些PrintActivty来打印我自己的活动的索引。 我试图用脏的方式更新模板,它适用于第一级嵌套,但是当我尝试在内部运行而它不起作用时。
P.S。 - 我从我的活动的执行()中获取模板:
var template = this.WFActivity.GetActivityByName(this.QualifiedName);
WFActivity是一个设置为指向WF根活动的属性。
答案 0 :(得分:1)
您无法禁用活动克隆,因为它是活动执行方式的固有部分。
解决此问题的方法是在您的活动中使用依赖项属性来存储索引值。现在,在工作流程中,您可以将索引属性绑定到更高级别的属性或字段,例如工作流本身,并且值将存储在那里而不是存储在您活动的克隆副本中。