我有一个后台工作程序正在运行,用于复制一个巨大的文件(几个GB),我想知道如何在复制过程中取消该进程。我可以在复制之前检查CancellationPending属性,但不知道在复制已经进行时如何取消。
if (worker.CancellationPending) // check cancellation before copy
{
e.Cancel = true;
}
else
{
File.Copy("sourceFile", "destinationFile"); // need to cancel this
}
请指导,谢谢!
如果在托管线程执行非托管代码时调用Abort,则直到该线程返回到托管代码后才会抛出ThreadAbortException。
- Humberto