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


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

Токен отмены для отмены операции.

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

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

Исключения

Значение параметра requestnull.

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

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

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

Исключения

Значение параметра requestnull.

Экземпляр 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

Когда должна завершиться операция (как только будет доступен отклик или после считывания всего содержимого отклика).

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

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

Исключения

Значение параметра requestnull.

Экземпляр 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

Токен отмены для отмены операции.

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

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

Исключения

Значение параметра requestnull.

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

Не удалось выполнить запрос из-за ключевой проблемы, например подключения к сети, ошибки DNS, проверки сертификата сервера или времени ожидания.

Только .NET Core и .NET 5 и более поздних версий. Запрос завершился сбоем из-за истечения времени ожидания.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Эта операция не блокируется. Возвращенный Task<TResult> объект завершится после того, как будет прочитан весь ответ, включая содержимое. Поведение будет таким же, как и при ResponseContentRead явном указании.

Примечание

В случае истечения времени ожидания в разных реализациях .NET создаются разные исключения.

  • HttpRequestExceptionвызывается во всех применимых версиях платформа .NET Framework.
  • TaskCanceledException во всех применимых версиях .NET Core возникает исключение без каких-либо внутренних исключений.
  • TaskCanceledException вложенный TimeoutException объект создается в .NET 5 и более поздних версий.

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Send(HttpRequestMessage).

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