WF4版本控制 - 如何取消/终止无效实例?

时间:2012-08-31 07:34:48

标签: workflow-foundation-4

我已经使用WorkflowFoundation 4.1实现了状态机工作流程。我正在使用SQL Server持久性存储和WorkflowApplication类来加载和运行工作流。

我正在对状态机工作流模型进行更改,并且发现现有实例很容易中断。我编写的代码可以将工作流重放回正确的状态,这基本上是一个迁移,工作正常,但是我需要能够清除旧的工作流实例。

主要问题是如果工作流程无效,我甚至无法加载它,所以我也无法终止或取消它。

有没有办法使用工作流API删除工作流而不加载它(即SqlPersistenceStore上的某些命令),还是我必须手动清理数据库?

1 个答案:

答案 0 :(得分:2)

SqlWorkflowInstanceStore不允许您直接执行此操作。您需要进入数据库并删除那里的记录。如果您正在使用AppFabric,实际上有一个命令可以删除工作流实例而不首先为此目的加载它。应该有一个PowerShell命令来使用代码来完成它。