2009-12-16 187 views
1

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

回答

4

此删除行为是可配置的。例如,如果您使用的是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

相关问题