WF4:完成持久状态机的位置在哪里?

时间:2013-10-26 07:38:51

标签: workflow-foundation-4 state-machine

我已成功保存状态机,并在加载多次后将状态机应用于状态机。

但是当他们达到最终状态时会发生什么?

为什么在geting完成后将它们从persitance数据存储中删除( [System.Activities.DurableInstancing]。[InstancesTable] )?

这是正常还是我在坚持完成的状态机时犯了错误?

1 个答案:

答案 0 :(得分:1)

工作流程是代码。您可以使用较大的块来定义逻辑,但它会执行并返回结果。 不是结果本身。

想象一下,你有一个类,你调用的方法决定批准/拒绝。您将启动该类,传入参数值,并让代码执行确定批准/拒绝。这段代码执行后你会怎么做?

您不会存储该方法的代码,这是肯定的。您将存储已批准,拒绝的人以及最终结果。

因此,您不应该存储工作流代码,而应该存储结果

我将通过创建自定义活动NativeActivity来完成此工作流程的目标,使用一个或多个workflow extensions与外部世界进行通信,以发送有关批准或拒绝等待操作的通知。一路走来,我会记录当我的书签恢复执行时谁做了什么。工作流完成后,我也会记录最终结果。