【问题标题】:Windows Workflow Foundation 4.0 and PersistenceWindows Workflow Foundation 4.0 和持久性
【发布时间】:2009-12-16 15:43:10
【问题描述】:

在即将发布的 Visual Studio 2010 之前,我正在使用 Visual Studio 2010 Beta 2 来学习使用 Workflow Foundation (WF) 4.0 版。我注意到的一件事是,如果我在 SQL 数据库中保留一个工作流持久存储,然后稍后将其加载回应用程序并完成工作流,当工作流的最后一个活动完成时,记录将从持久存储中删除。我需要确定这个功能是否是为了防止数据库变得庞大而设计的,或者我做错了什么。

【问题讨论】:

    标签: windows workflow-foundation-4 sqlworkflowpersistencese


    【解决方案1】:

    此删除行为是可配置的。例如,如果您使用 WorkflowServiceHost 并使用代码配置服务主机,则可以将 SqlWorkflowInstanceStoreBehavior.InstanceCompletionAction 设置为 InstanceCompletionAction.DeleteNothing,如下例所示:

    WorkflowServiceHost host = new WorkflowServiceHost(workflow, baseAddress);
    SqlWorkflowInstanceStoreBehavior persistenceBehavior = new SqlWorkflowInstanceStoreBehavior(connString);
    persistenceBehavior.InstanceCompletionAction = InstanceCompletionAction.DeleteNothing;
    host.Description.Behaviors.Add(persistenceBehavior);
    

    有关 SQL 工作流实例存储的功能以及如何配置它的详细信息,请查看此MSDN article

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多