2

在我的项目中,我需要实现一个选项,用户可以动态地更改工作流程,即运行时。更具体地说,如果一个工作流程通过一组活动,让我们说活动A,B和C.然后用户应该有一个改变流程的选项,例如,而不是从A-> B-> C,他们可以直接A-> C跳过B.并且流程中的这种改变应该在运行时发生。运行WF 4.0工作流程的动态更新

有超过3个活动(上面提到的A,B和C)活动可能会达到20-30,用户应该有一个选择去从事任何活动,或者你可以说用户应该可以选择在运行时编辑流。

请帮我解决这个问题,这个选项可以在Windows工作基础(WF)中使用。

在此先感谢

回答

2

目前使用WF4,您无法更改正在运行的工作流实例的工作流定义。因此,必须在启动它之前更改工作流程,或者在工作流程中使用条件逻辑为工作流程建立可能的更改。

下一版本的工作流程将支持对运行工作流程的更改,但是何时可用将不明。只是不要期待它会很快。

1

捕捉的方式,工作流程可以访问它,然后使用ifElse活动,如果你执行活动B或不决定用户决定。

这只是正常的工作流程建模,除非我理解你的问题完全错误。

编辑:作为对您的评论的回应,可能会提出一个解决方案来满足这一要求,但这样做会非常难看,因为它违背了工作流引擎的目的。

如果您将用户的工作流视为购物篮,只需选择她喜欢的任何东西,那么它就不再是一个工作流。至少应该有一些连贯的步骤,没有意义的破坏。那么将它们放入单独的工作流程并让用户决定接下来要执行的工作流程也许是有道理的。

+1

是的,你错了,有超过3个活动(上面提到的A,B,C)活动可能会达到20-30,用户应该有一个选择去从事任何活动,或者你可以说用户应该有一个选项来在运行时编辑流。 – Everest 2010-12-17 10:29:01

0

我会考虑为每个活动制作1个仿函数,并将活动存储在列表中。该列表在运行时被修改。 “核心”只需解析列表并执行仿函数。

相关问题