我在WinForms应用程序中使用WorkflowFoundation 4.0。当用户关闭表单时,程序不会退出,因为工作流程在后台运行。
工作流程的创建方式如下:
WorkflowApplication workflow = new WorkflowApplication(new myActivity());
workflow.Run();
我想在我的FormClosing事件中“关闭”它。我应该使用哪种方法? Terminate
,Abort
或Cancel
?
答案 0 :(得分:7)
根据您的需要/工作流程终止或取消。如果您正在使用实例存储,则Abort旨在保留持久状态,并从上次保存的状态重新启动工作流。
如果您不想执行更多活动(包括像Finally块这样的清理),请使用terminate。如果您希望能够自行清理工作流,请使用“取消”。在大多数情况下我建议取消。
答案 1 :(得分:5)