Поделиться через


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-запроса для отправки.

Возвращаемое значение

Объект , представляющий асинхронную операцию.

Атрибуты

Комментарии

Эта операция не блокируется. Возвращенный объект IAsyncOperationWithProgress ( httpResponseMessage и HttpProgress) завершается после считывания всего ответа (включая содержимое).

HttpRequestMessage, переданный в параметре запроса, позволяет методу SendRequestAsync задавать заголовки в сообщении запроса, а также в отправляемом содержимом HTTP. В отличие от этого, методы PostAsync и PutAsync позволяют задавать только более ограниченный набор заголовков содержимого 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 ( httpResponseMessage и HttpProgress) завершается в зависимости от значения параметра completionOption .

HttpRequestMessage, переданный в параметре запроса, позволяет методу SendRequestAsync задавать заголовки в сообщении запроса, а также в отправляемом содержимом HTTP. В отличие от этого, методы PostAsync и PutAsync позволяют задавать только более ограниченный набор заголовков содержимого HTTP.

Ниже приведены исключения, создаваемые этой функцией.

E_ILLEGAL_METHOD_CALL

Сообщение запроса уже отправлено экземпляром HttpClient .

Обработка исключений

При вызове этого метода необходимо написать код для обработки исключений. Исключения могут возникать из-за ошибок проверки параметров, ошибок разрешения имен и сетевых ошибок. Исключения из сетевых ошибок (например, потеря подключения, сбои подключения и сбои HTTP-сервера) могут произойти в любое время. В результате таких ошибок создаются исключения. Если приложение не обрабатывается, исключение может привести к завершению всего приложения средой выполнения. Дополнительные сведения об обработке исключений см. в разделах Обработка исключений в сетевых приложениях и Практическое руководство. Сопоставление HRESULT и исключений.

См. также раздел

Применяется к