HttpClient.SendAsync 方法

定义

以异步操作发送 HTTP 请求。

重载

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage, HttpCompletionOption)

以异步操作发送 HTTP 请求。

SendAsync(HttpRequestMessage, CancellationToken)

以异步操作发送 HTTP 请求。

注解

此操作不会阻止。

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

以异步操作发送 HTTP 请求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Net::Http::HttpCompletionOption completionOption, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption, System.Threading.CancellationToken cancellationToken);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Net.Http.HttpCompletionOption * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

completionOption
HttpCompletionOption

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

cancellationToken
CancellationToken

取消操作的取消标记。

返回

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

例外

requestnull

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

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

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

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

注解

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

备注

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

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

适用于

SendAsync(HttpRequestMessage)

以异步操作发送 HTTP 请求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request);
override this.SendAsync : System.Net.Http.HttpRequestMessage -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage) As Task(Of HttpResponseMessage)

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

返回

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

例外

requestnull

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

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

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

注解

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

备注

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

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

适用于

SendAsync(HttpRequestMessage, HttpCompletionOption)

以异步操作发送 HTTP 请求。

public:
 System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Net::Http::HttpCompletionOption completionOption);
public System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpCompletionOption completionOption);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Net.Http.HttpCompletionOption -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Function SendAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As Task(Of HttpResponseMessage)

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

completionOption
HttpCompletionOption

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

返回

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

例外

requestnull

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

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

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

注解

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

备注

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

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

适用于

SendAsync(HttpRequestMessage, CancellationToken)

以异步操作发送 HTTP 请求。

public:
 override System::Threading::Tasks::Task<System::Net::Http::HttpResponseMessage ^> ^ SendAsync(System::Net::Http::HttpRequestMessage ^ request, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage> SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken);
override this.SendAsync : System.Net.Http.HttpRequestMessage * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.Net.Http.HttpResponseMessage>
Public Overrides Function SendAsync (request As HttpRequestMessage, cancellationToken As CancellationToken) As Task(Of HttpResponseMessage)

参数

request
HttpRequestMessage

要发送的 HTTP 请求消息。

cancellationToken
CancellationToken

取消操作的取消标记。

返回

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

例外

requestnull

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

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

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

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

注解

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

备注

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

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

适用于