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