如何防止执行中的无效工作流操作

时间:2011-06-29 09:30:48

标签: c# workflow workflow-foundation-4 azure-queues

我有一个现有的工作流引擎,可以从Azure队列中获取xml消息。 XML部分包含有关已执行的WorkflowAction的信息,而这些信息又传递给实际的Workflow类并在其中进行处理。

例如,我的工作流程类A中包含以下步骤:

  

步骤1 - >步骤2 - >第3步

Step 2Step 3的先决条件,而Step 1则是Step 2的要求。

因此,如果A收到来自引擎的名为WaitforStep1操作的消息,则会为该特定实例标记Step 1,并将其转发至Step 2

现在我的问题是:如果收到包含信息WaitforStep2而不是WaitforStep1的邮件,则该实例将直接跳转到Step 3而不会传递通过Step 2

有没有办法防止这种情况发生?

免责声明:我是WF的初学者。

2 个答案:

答案 0 :(得分:0)

如果没有明确建模工作流程,您就无法跳过工作流程中的活动。因此,如果邮件无序接收,则会被拒绝,因为他们正在尝试恢复不存在的书签。

答案 1 :(得分:0)

我使用一个Sequence变量来指示任务当前所处的步骤。然后我在PickBranch Action中输入If语句来验证我当前是否处于正确的步骤。