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

相關問題