HttpClient.SendRequestAsync 方法

定义

重载

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 请求消息。

返回

表示异步操作的 对象。

属性

注解

此操作不会阻止。 HttpResponseMessageHttpProgress) 返回的 IAsyncOperationWithProgress (在读取整个响应 (包括内容) 后完成。

请求参数中传递的 HttpRequestMessage 允许 SendRequestAsync 方法设置请求消息和要发送的 HTTP 内容的标头。 相比之下, PostAsyncPutAsync 方法仅允许设置一组更有限的 HTTP 内容标头。

下面是此函数引发的异常。

E_ILLEGAL_METHOD_CALL

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

异常处理

调用此方法时,必须编写代码来处理异常。 异常可能由参数验证错误、名称解析失败和网络错误引起。 网络错误 (连接丢失、连接故障和 HTTP 服务器故障(例如,随时可能发生) )的异常。 这些错误将引发异常。 如果应用未处理,异常可能会导致整个应用被运行时终止。 有关如何处理异常的详细信息,请参阅 处理网络应用中的异常如何:映射 HRESULT 和异常

另请参阅

适用于

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 (HttpResponseMessageHttpProgress) 根据 completionOption 参数的值完成。

请求参数中传递的 HttpRequestMessage 允许 SendRequestAsync 方法设置请求消息和要发送的 HTTP 内容的标头。 相比之下, PostAsyncPutAsync 方法仅允许设置一组更有限的 HTTP 内容标头。

下面是此函数引发的异常。

E_ILLEGAL_METHOD_CALL

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

异常处理

调用此方法时,必须编写代码来处理异常。 异常可能由参数验证错误、名称解析失败和网络错误引起。 网络错误 (连接丢失、连接故障和 HTTP 服务器故障(例如,随时可能发生) )的异常。 这些错误将引发异常。 如果应用未处理,异常可能会导致整个应用被运行时终止。 有关如何处理异常的详细信息,请参阅 处理网络应用中的异常如何:映射 HRESULT 和异常

另请参阅

适用于