Share via

WebClient.CancelAsync Method


Cancels a pending asynchronous operation.

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



WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete, and you shouldn't use them for new development. Use HttpClient instead.

If an operation is pending, this method calls Abort on the underlying WebRequest.


Starting in .NET Core 2.0, CancelAsync doesn't cancel the request immediately if the response has started to fetch. For optimum cancellation behavior, use the HttpClient class instead of WebClient.

When you call CancelAsync, your application still receives the completion event associated with the operation. 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. 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.

Applies to