非同期処理をキャンセルするには – IAsyncInfo

IAsyncInfo Cancelメソッド

WindowsRuntimeの場合、IAsyncAction、IAsyncActionWithProgress、IAsyncOperation、IAsyncOpearationWithProgressの4つの非同期メソッドインターフェースが存在します。

それらはすべてIAsyncInfoインターフェースを継承しているため、非同期処理キャンセル能力を持っています。

 

もし非同期処理中にキャンセルリクエストが来た場合、IsCancellationRequestedプロパティがtrueとなるのでそれを判定して非同期メソッドを止めるように実装します。

あとは非同期メソッド実行中にCancelメソッドを呼べば処理がキャンセルされます。