Win8では、somefile.CopyAsync(destFolder、newName)を使用してファイルをコピーします。しかし、キャンセルしようとすると、うまくいかないようです。これらの2つの方法は、私がそれをキャンセルしようとする方法です。
IAsyncOperation.Cancelを使用するだけです
var op = somefile.CopyAsync(destFoder, newName); op.Cancel(); op.Complete = (x,y) => { switch(y) { case AsyncStatus.Complete: Debug.WriteLine("Completed" + x.GetResults().Name); break; case AsyncStatus.Cancel: Debug.WriteLine("Canceled") break; } }
AsTask(CancellationToken)を使用する
var cts = new CancellationTokenSource(); cts.CancelAfter(TimeSpan.FromSeconds(1)); var op = somefile.CopyAsync(destFolder, newName).AsTask(cts.Token); await op;
最初の方法では、ケースAsyncStatus.Cancelは呼び出されず、2番目の方法では、何も起こりません。他に試すことができる方法はありますか?ありがとう!