问题是:如何中途终止进程?我必须创建一个取消按钮来停止当前的处理。
我想使用下面的行...
if ((worker.CancellationPending == true))
{
e.Cancel = true;
}
...并在内部封装 AllocateTrades2 方法,但这意味着我必须从其他地方调用取消标志,并且只有在方法完成处理后才会检查它。
而且我不能只是“假装”它没有做任何事情,因为如果用户再次单击相同的操作,则会引发异常,表明工作人员正在使用中。
我想做的一个例子:
public void bw_DoWork(object sender, DoWorkEventArgs e)
{
AllocateTrades2();
}
public void AllocateTrades()
{
Method1();
CheckTerminate();
Method2();
CheckTerminate();
//Click the cancel button in the UI during method 3 processing
Method3();
CheckTerminate();
}
CheckTerminate() 停止其所有处理并使其可用于将来的调用。我正在尝试做的事情可能吗?