HttpClient.SendAsync 方法

定义

以异步操作发送 HTTP 请求。

重载

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage, HttpCompletionOption)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage, CancellationToken)

以异步操作发送 HTTP 请求。

注解

此操作不会阻止。

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

以异步操作发送 HTTP 请求。

C#
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

completionOption
HttpCompletionOption

操作应完成时(在响应可利用或在读取整个响应内容之后)。

cancellationToken
CancellationToken

取消操作的取消标记。

返回

表示异步操作的任务对象。

例外

requestnull

请求消息已由 HttpClient 实例发送。

由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。

仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。

取消令牌已取消。 此异常存储在返回的任务中。

注解

此操作不会阻止。 根据 参数的值 completionOption ,返回 Task<TResult> 的对象将在响应可用或读取包括内容在内的整个响应后立即完成。

备注

如果出现超时,则会在不同的 .NET 实现上引发不同的异常。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage, HttpCompletionOption)异常。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

SendAsync(HttpRequestMessage)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

以异步操作发送 HTTP 请求。

C#
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request);

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

返回

表示异步操作的任务对象。

例外

requestnull

请求消息已由 HttpClient 实例发送。

由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。

仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。

注解

此操作不会阻止。 读取整个响应(包括内容)后,返回 Task<TResult> 的对象将完成。 行为与显式指定的行为相同 ResponseContentRead

备注

如果出现超时,则会在不同的 .NET 实现上引发不同的异常。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage)异常。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

SendAsync(HttpRequestMessage, HttpCompletionOption)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

以异步操作发送 HTTP 请求。

C#
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption);

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

completionOption
HttpCompletionOption

操作应完成时(在响应可利用或在读取整个响应内容之后)。

返回

表示异步操作的任务对象。

例外

requestnull

请求消息已由 HttpClient 实例发送。

由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。

仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。

注解

此操作不会阻止。 根据 参数的值 completionOption ,返回 Task<TResult> 的对象将在响应可用或读取包括内容在内的整个响应后立即完成。

备注

如果出现超时,则会在不同的 .NET 实现上引发不同的异常。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage, HttpCompletionOption)异常。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

SendAsync(HttpRequestMessage, CancellationToken)

Source:
HttpClient.cs
Source:
HttpClient.cs
Source:
HttpClient.cs

以异步操作发送 HTTP 请求。

C#
public override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

cancellationToken
CancellationToken

取消操作的取消标记。

返回

表示异步操作的任务对象。

例外

requestnull

请求消息已由 HttpClient 实例发送。

由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。

仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。

取消令牌已取消。 此异常存储在返回的任务中。

注解

此操作不会阻止。 读取整个响应(包括内容)后,返回 Task<TResult> 的对象将完成。 行为与显式指定的行为相同 ResponseContentRead

备注

如果出现超时,则会在不同的 .NET 实现上引发不同的异常。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage)异常。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0