Windows工作流基础4.0和持久性
-
20-09-2019 - |
题
我使用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文章。
不隶属于 StackOverflow