HttpClient.SendRequestAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
SendRequestAsync(HttpRequestMessage) |
以异步操作发送 HTTP 请求。 有关 HttpClient 类的编程指南和代码示例,请参阅 HttpClient 概念主题。 |
SendRequestAsync(HttpRequestMessage, HttpCompletionOption) |
使用 HTTP 完成选项作为异步操作发送 HTTP 请求。 有关 HttpClient 类的编程指南和代码示例,请参阅 HttpClient 概念主题。 |
SendRequestAsync(HttpRequestMessage)
以异步操作发送 HTTP 请求。 有关 HttpClient 类的编程指南和代码示例,请参阅 HttpClient 概念主题。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request);
[Windows.Foundation.Metadata.Overload("SendRequestAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request);
function sendRequestAsync(request)
Public Function SendRequestAsync (request As HttpRequestMessage) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
参数
- request
- HttpRequestMessage
要发送的 HTTP 请求消息。
返回
表示异步操作的 对象。
- 属性
注解
此操作不会阻止。 HttpResponseMessage 和 HttpProgress) 返回的 IAsyncOperationWithProgress (在读取整个响应 (包括内容) 后完成。
在请求参数中传递的 HttpRequestMessage 允许 SendRequestAsync 方法设置请求消息和要发送的 HTTP 内容的标头。 相比之下, PostAsync 和 PutAsync 方法仅允许设置一组更有限的 HTTP 内容标头。
下面是此函数引发的异常。
E_ILLEGAL_METHOD_CALL
请求消息已由 HttpClient 实例发送。
异常处理
调用此方法时,必须编写代码来处理异常。 异常可能由参数验证错误、名称解析失败和网络错误引起。 网络错误 (连接丢失、连接故障和 HTTP 服务器故障(例如,随时可能发生) )的异常。 这些错误将引发异常。 如果应用未处理,异常可能会导致整个应用被运行时终止。 有关如何处理异常的详细信息,请参阅 处理网络应用中的异常 和 如何:映射 HRESULT 和异常。
另请参阅
- HttpRequestMessage
- PostAsync(Uri, IHttpContent)
- PutAsync(Uri, IHttpContent)
- SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
- HttpClient
适用于
SendRequestAsync(HttpRequestMessage, HttpCompletionOption)
使用 HTTP 完成选项作为异步操作发送 HTTP 请求。 有关 HttpClient 类的编程指南和代码示例,请参阅 HttpClient 概念主题。
public:
virtual IAsyncOperationWithProgress<HttpResponseMessage ^, HttpProgress> ^ SendRequestAsync(HttpRequestMessage ^ request, HttpCompletionOption completionOption) = SendRequestAsync;
/// [Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpResponseMessage, HttpProgress> SendRequestAsync(HttpRequestMessage const& request, HttpCompletionOption const& completionOption);
[Windows.Foundation.Metadata.Overload("SendRequestWithOptionAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpResponseMessage,HttpProgress> SendRequestAsync(HttpRequestMessage request, HttpCompletionOption completionOption);
function sendRequestAsync(request, completionOption)
Public Function SendRequestAsync (request As HttpRequestMessage, completionOption As HttpCompletionOption) As IAsyncOperationWithProgress(Of HttpResponseMessage, HttpProgress)
参数
- request
- HttpRequestMessage
要发送的 HTTP 请求消息。
- completionOption
- HttpCompletionOption
一个 值,该值指示在读取所有响应时还是仅读取标头时认为 HttpClient 操作已完成。
返回
表示异步操作的 对象。
- 属性
注解
此操作不会阻止。 返回的 IAsyncOperationWithProgress (HttpResponseMessage 和 HttpProgress) 根据 completionOption 参数的值完成。
在请求参数中传递的 HttpRequestMessage 允许 SendRequestAsync 方法设置请求消息和要发送的 HTTP 内容的标头。 相比之下, PostAsync 和 PutAsync 方法仅允许设置一组更有限的 HTTP 内容标头。
下面是此函数引发的异常。
E_ILLEGAL_METHOD_CALL
请求消息已由 HttpClient 实例发送。
异常处理
调用此方法时,必须编写代码来处理异常。 异常可能由参数验证错误、名称解析失败和网络错误引起。 网络错误 (连接丢失、连接故障和 HTTP 服务器故障(例如,随时可能发生) )的异常。 这些错误将引发异常。 如果应用未处理,异常可能会导致整个应用被运行时终止。 有关如何处理异常的详细信息,请参阅 处理网络应用中的异常 和 如何:映射 HRESULT 和异常。