HttpClient.SendAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以异步操作发送 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 请求。
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
取消操作的取消标记。
返回
表示异步操作的任务对象。
例外
request
为 null
。
请求消息已由 HttpClient 实例发送。
由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。
仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。
取消令牌已取消。 此异常存储在返回的任务中。
注解
此操作不会阻止。 根据 参数的值 completionOption
,返回 Task<TResult> 的对象将在响应可用或读取包括内容在内的整个响应后立即完成。
注意
如果出现超时,则会在不同的 .NET 实现上引发不同的异常。
- HttpRequestException在所有适用的 .NET Framework 版本上引发 。
- TaskCanceledException 不会在所有适用的 .NET Core 版本上引发任何内部异常。
- TaskCanceledException 在 .NET 5 及更高版本上引发嵌套 TimeoutException 的 。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage, HttpCompletionOption)异常。
适用于
SendAsync(HttpRequestMessage)
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
以异步操作发送 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 请求消息。
返回
表示异步操作的任务对象。
例外
request
为 null
。
请求消息已由 HttpClient 实例发送。
由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。
仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。
注解
此操作不会阻止。 读取整个响应(包括内容)后,返回 Task<TResult> 的对象将完成。 行为与显式指定的行为相同 ResponseContentRead 。
注意
如果出现超时,则会在不同的 .NET 实现上引发不同的异常。
- HttpRequestException在所有适用的 .NET Framework 版本上引发 。
- TaskCanceledException 不会在所有适用的 .NET Core 版本上引发任何内部异常。
- TaskCanceledException 在 .NET 5 及更高版本上引发嵌套 TimeoutException 的 。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage)异常。
适用于
SendAsync(HttpRequestMessage, HttpCompletionOption)
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
以异步操作发送 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
操作应完成时(在响应可利用或在读取整个响应内容之后)。
返回
表示异步操作的任务对象。
例外
request
为 null
。
请求消息已由 HttpClient 实例发送。
由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。
仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。
注解
此操作不会阻止。 根据 参数的值 completionOption
,返回 Task<TResult> 的对象将在响应可用或读取包括内容在内的整个响应后立即完成。
注意
如果出现超时,则会在不同的 .NET 实现上引发不同的异常。
- HttpRequestException在所有适用的 .NET Framework 版本上引发 。
- TaskCanceledException 不会在所有适用的 .NET Core 版本上引发任何内部异常。
- TaskCanceledException 在 .NET 5 及更高版本上引发嵌套 TimeoutException 的 。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage, HttpCompletionOption)异常。
适用于
SendAsync(HttpRequestMessage, CancellationToken)
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
- Source:
- HttpClient.cs
以异步操作发送 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
取消操作的取消标记。
返回
表示异步操作的任务对象。
例外
request
为 null
。
请求消息已由 HttpClient 实例发送。
由于基础问题(如网络连接性、DNS 失败、服务器证书验证或超时),请求失败。
仅限 .NET Core 和 .NET 5 及更高版本:请求因超时而失败。
取消令牌已取消。 此异常存储在返回的任务中。
注解
此操作不会阻止。 读取整个响应(包括内容)后,返回 Task<TResult> 的对象将完成。 行为与显式指定的行为相同 ResponseContentRead 。
注意
如果出现超时,则会在不同的 .NET 实现上引发不同的异常。
- HttpRequestException在所有适用的 .NET Framework 版本上引发 。
- TaskCanceledException 不会在所有适用的 .NET Core 版本上引发任何内部异常。
- TaskCanceledException 在 .NET 5 及更高版本上引发嵌套 TimeoutException 的 。
此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(HttpRequestMessage)异常。