工作流基础 - 终止vs中止vs取消

时间:2011-01-06 11:47:01

标签: c# c#-4.0 workflow-foundation workflow-foundation-4

我在WinForms应用程序中使用WorkflowFoundation 4.0。当用户关闭表单时,程序不会退出,因为工作流程在后台运行。

工作流程的创建方式如下:

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

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

2 个答案:

答案 0 :(得分:7)

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

如果您不想执行更多活动(包括像Finally块这样的清理),请使用terminate。如果您希望能够自行清理工作流,请使用“取消”。在大多数情况下我建议取消。

答案 1 :(得分:5)