2011-01-06 64 views
2

我在WinForms应用程序中使用WorkflowFoundation 4.0。当用户关闭表单时,程序不会退出,因为工作流程正在后台运行。Workflow Foundation - 终止vs中止vs取消

工作流创建这样的:

WorkflowApplication workflow = new WorkflowApplication(new myActivity()); 
workflow.Run(); 

我想“关闭”它在我的FormClosing事件。我应该使用哪种方法? TerminateAbortCancel

+0

你说的 '亲密' 意思。您想要如何处理工作流程。 – 2011-01-06 11:53:58

+0

我想中止它的线程,以便表单完全处理,并且不会有剩余的线程正在运行... – veljkoz 2011-01-06 11:58:34

回答

6

根据您的需求/工作流程终止或取消。如果您正在使用实例存储,并且从最后一次保存的状态重新启动工作流,Abort旨在保留持久状态。

如果您不想要更多活动(包括像Finally块这样的清理)来执行,则使用终止。如果您希望自己拥有清理工作流的能力,请使用取消。我建议在大多数情况下取消。