我使用Visual Studio 2010 Beta 2中学习使用工作流基础(WF)4.0版之前的Visual Studio即将发布的2010年一件事我注意到的是,如果我坚持一个工作流的SQL数据库持久性存储,然后加载它放回应用程序后,完成的工作流程,记录从持久性存储工作流的最后一个活动完成时删除。我需要找出是否该功能是由设计从获得巨额存到数据库,或者如果我做错了什么。

有帮助吗?

解决方案

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top