HttpClient.SendAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отправка HTTP-запроса в качестве асинхронной операции.
Перегрузки
SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Отправка HTTP-запроса в качестве асинхронной операции. |
SendAsync(HttpRequestMessage) |
Отправка HTTP-запроса в качестве асинхронной операции. |
SendAsync(HttpRequestMessage, HttpCompletionOption) |
Отправка HTTP-запроса в качестве асинхронной операции. |
SendAsync(HttpRequestMessage, CancellationToken) |
Отправка HTTP-запроса в качестве асинхронной операции. |
Комментарии
Эта операция не блокируется.
SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)
- Исходный код:
- HttpClient.cs
- Исходный код:
- HttpClient.cs
- Исходный код:
- 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 вложенный TimeoutException объект создается в .NET 5 и более поздних версий.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Send(HttpRequestMessage, HttpCompletionOption).
Применяется к
SendAsync(HttpRequestMessage)
- Исходный код:
- HttpClient.cs
- Исходный код:
- HttpClient.cs
- Исходный код:
- 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 вложенный TimeoutException объект создается в .NET 5 и более поздних версий.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Send(HttpRequestMessage).
Применяется к
SendAsync(HttpRequestMessage, HttpCompletionOption)
- Исходный код:
- HttpClient.cs
- Исходный код:
- HttpClient.cs
- Исходный код:
- 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 вложенный TimeoutException объект создается в .NET 5 и более поздних версий.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Send(HttpRequestMessage, HttpCompletionOption).
Применяется к
SendAsync(HttpRequestMessage, CancellationToken)
- Исходный код:
- HttpClient.cs
- Исходный код:
- HttpClient.cs
- Исходный код:
- 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 вложенный TimeoutException объект создается в .NET 5 и более поздних версий.
Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Send(HttpRequestMessage).