【问题标题】:Windows workflow 4.0 PersistenceWindows 工作流 4.0 持久性
【发布时间】:2010-12-14 16:41:24
【问题描述】:

请有人向我解释为什么我需要在数据库中保留工作流。请只是试图理解这些概念

【问题讨论】:

    标签: workflow-foundation-4


    【解决方案1】:

    工作流程通常会长期运行,例如数周或数月。将它们保存在内存中意味着您无法回收应用程序或机器。通过将状态保存到磁盘,即数据库,您可以重新启动进程和机器。当工作流不做任何事情时也将工作流保留在内存中只会浪费内存资源,从而阻碍可伸缩性。最后将状态保存在数据库中意味着我们可以从该状态重新启动工作流,这样在处理错误时也会有所帮助。

    【讨论】:

    • 这是否意味着建议对用于进行正常审批的应用程序使用工作流。示例 在给定组织内批准休假??
    • 这将是一个工作流非常有意义的例子。
    • 好的..但在这种情况下,我需要对这样的工作流程进行任何持久性以及为什么。
    • 您需要吗?如果您确保 IIS 或您的自定义主机从不回收,并且在有活动的工作流时您从不重新启动机器,请不要猜测。但如果你是现实的,是的,出于上述原因,你会的。
    • 你当然想要持久性。请记住,如果您要在没有 WF 的情况下编写此代码,您仍然会坚持认为您将拥有一个名为“LeaveRequest”之类的表,可能带有某种状态字段。每个动作都会拉和推到这张桌子。使用 WF,交互将改为拉入和推送到工作流。一旦它达到一个空闲点(例如发布请求、预先批准),它会自动以二进制序列化形式保持自身,直到采取下一个操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多