我有一个后台工作运行复制一个巨大的文件(几个GB),我想知道如何取消进程在副本的中间。我可以检查CancellationPending属性的副本之前,但不知道如何做到这一点时,副本已在进行中。

if (worker.CancellationPending) // check cancellation before copy 
{   
    e.Cancel = true;
}
else
{    
    File.Copy("sourceFile", "destinationFile"); // need to cancel this
}

请指教,谢谢!

有帮助吗?

解决方案

我不知道,但我认为File.Copy由不允许此功能WINAPI的CopyFile功能的支持。

您应该朝向指向 CopyFileEx 允许回调方法每当该文件的一部分已被复制。

scroll top