我已成功保存状态机,并在加载多次后将状态机应用于状态机。
但是当他们达到最终状态时会发生什么?
为什么在geting完成后将它们从persitance数据存储中删除( [System.Activities.DurableInstancing]。[InstancesTable] )?
这是正常还是我在坚持完成的状态机时犯了错误?
答案 0 :(得分:1)
工作流程是代码。您可以使用较大的块来定义逻辑,但它会执行并返回结果。 不是结果本身。
想象一下,你有一个类,你调用的方法决定批准/拒绝。您将启动该类,传入参数值,并让代码执行确定批准/拒绝。这段代码执行后你会怎么做?
您不会存储该方法的代码,这是肯定的。您将存储已批准,拒绝的人以及最终结果。
因此,您不应该存储工作流的代码,而应该存储结果。
我将通过创建自定义活动NativeActivity来完成此工作流程的目标,使用一个或多个workflow extensions与外部世界进行通信,以发送有关批准或拒绝等待操作的通知。一路走来,我会记录当我的书签恢复执行时谁做了什么。工作流完成后,我也会记录最终结果。