HttpClient.SendAsync Method (HttpRequestMessage, HttpCompletionOption, CancellationToken)

.NET Framework (current version)

Send an HTTP request as an asynchronous operation.

Namespace:   System.Net.Http
Assembly:  System.Net.Http (in System.Net.Http.dll)

public Task<HttpResponseMessage> SendAsync(
	HttpRequestMessage request,
	HttpCompletionOption completionOption,
	CancellationToken cancellationToken


Type: System.Net.Http.HttpRequestMessage

The HTTP request message to send.

Type: System.Net.Http.HttpCompletionOption

When the operation should complete (as soon as a response is available or after reading the whole response content).

Type: System.Threading.CancellationToken

The cancellation token to cancel operation.

Return Value

Type: System.Threading.Tasks.Task<HttpResponseMessage>

The task object representing the asynchronous operation.

Exception Condition

The request was null.


The request message was already sent by the HttpClient instance.


The request failed due to an underlying issue such as network connectivity, DNS failure, server certificate validation or timeout.

This operation will not block. Depending on the value of the completionOption parameter, the returned Task<TResult> object will complete as soon as a response is available or the entire response including content is read.

Universal Windows Platform
Available since 8
.NET Framework
Available since 4.5
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top