2

假设我有一个长时间运行的工作流状态机,我在其中存储了一个订单。我有一个 MVC 应用程序,其中从各种形式的订单发生了许多不同的变化。除了 Status 和 StatusDate,这些都与 Workflow 无关。

大多数对 Order 的更新只是计算和 CRUD 操作。随着订单状态的变化,我是否将整个订单保留在工作流中,使用工作流持久性,并弄清楚如何将所有其他更新放入工作流中,还是我自己使用 EF/L2S 将订单存储在我的表中,然后通过我正在处理的订单进入工作流程,让 StateMachine 更新状态,并将订单作为出局的争论传回。或者.....我可以在 Order 对象上有一个 Status/State 字段,比如 Guid,它是一个指向 OrderStatus 对象的指针,该对象是在长期运行的工作流中创建并保存的,具有它自己的持久性。

我喜欢最后一个选项,但是如果我需要查询所有处于已发货或延期交货状态且具有特定 StatusDate 的订单怎么办?每个人都在自己的工作流实例中?我可以查询工作流主机以获取状态为“已发货”的所有工作流实例吗?状态日期 <= 现在?仅供参考...我正在使用 WF4.5

4

0 回答 0