WebClient.CancelAsync メソッド


保留中の非同期操作をキャンセルします。Cancels a pending asynchronous operation.

 void CancelAsync();
public void CancelAsync ();
member this.CancelAsync : unit -> unit
Public Sub CancelAsync ()


操作が保留中の場合、このメソッドは Abort 、基になるでを呼び出し WebRequest ます。If an operation is pending, this method calls Abort on the underlying WebRequest.


.NET Core 2.0 以降では、 CancelAsync 応答がフェッチを開始した場合、はすぐに要求を取り消しません。Starting in .NET Core 2.0, CancelAsync doesn't cancel the request immediately if the response has started to fetch. 最適なキャンセル動作を行うには、の代わりにクラスを使用し HttpClient WebClient ます。For optimum cancellation behavior, use the HttpClient class instead of WebClient.

を呼び出すと CancelAsync 、アプリケーションは操作に関連付けられている完了イベントを引き続き受け取ります。When you call CancelAsync, your application still receives the completion event associated with the operation. たとえば、を呼び出して操作をキャンセルした場合、イベント CancelAsync DownloadStringAsync のイベントハンドラーを指定した場合、 DownloadStringCompleted イベントハンドラーは操作が終了したという通知を受け取ります。For example, when you call CancelAsync to cancel a DownloadStringAsync operation, if you have specified an event handler for the DownloadStringCompleted event, your event handler receives notification that the operation has ended. 操作が正常に完了したかどうかを調べるには、 Cancelled DownloadDataCompletedEventArgs イベントハンドラーに渡されるイベントデータオブジェクトでの基本クラスのプロパティを確認します。To learn whether the operation completed successfully, check the Cancelled property on the base class of DownloadDataCompletedEventArgs in the event data object passed to the event handler.

非同期操作が実行中でない場合、このメソッドは何も行いません。If no asynchronous operation is in progress, this method does nothing.