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

vel*_*koz 2 c# workflow-foundation workflow-foundation-4 c#-4.0

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

工作流程创建如下:

WorkflowApplication workflow = new WorkflowApplication(new myActivity());
workflow.Run();
Run Code Online (Sandbox Code Playgroud)

我想在我的FormClosing事件中"关闭"它.我应该使用哪种方法?Terminate,Abort还是Cancel

Mau*_*ice 7

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

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