我正在学习它,但不知道使用它们的最佳方案(状态机工作流程和顺序工作流程。
答案 0 :(得分:1)
请看一下这个解释:State Machines In Windows Workflow
顺序工作流程是可预测的工作流程。执行路径可能会分支,循环或等待外部事件发生,但最终,顺序工作流将使用我们提供的活动,条件和规则不可避免地向前推进。工作流程控制着流程。
状态机工作流是一种事件驱动的工作流。也就是说,状态机工作流依靠外部事件来驱动工作流完成。我们定义工作流的合法状态,以及这些状态之间的合法转换。工作流始终处于其中一种状态,并且必须等待事件到达才能转换到新状态。通常,重要决策发生在工作流程之外。状态机定义了一个要遵循的结构,但控制属于外部世界。
本文还提供了一个很好(但非常相似)的解释:State Machine Workflows in Windows Workflow Foundation:
在顺序工作流程中,工作流程中的所有决策都由工作流程本身完成。有一个明确定义的开始和明确定义的结束。在这之间有一个由分支和循环组成的流动来引导流动。这意味着工作流程处于控制之中。
使用状态机工作流程,没有真正的预定义路径来执行特定解决方案的所有步骤。国家机器采取另一种方法。他们等待事件发生,并根据这些事件改变他们的状态。当决策从外部应用程序进入并且不可预测时,将使用状态机。因此,特别是当需要用户交互时,状态机是一种更方便的解决方案。