HttpClient.SendAsync Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Enviar um pedido HTTP como uma operação assíncrona.
Sobrecargas
| Name | Description |
|---|---|
| SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, HttpCompletionOption) |
Enviar um pedido HTTP como uma operação assíncrona. |
| SendAsync(HttpRequestMessage, CancellationToken) |
Enviar um pedido HTTP como uma operação assíncrona. |
Observações
Esta operação não bloqueia.
SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)
Enviar um pedido HTTP como uma operação assíncrona.
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)
Parâmetros
- request
- HttpRequestMessage
A mensagem de pedido HTTP para enviar.
- completionOption
- HttpCompletionOption
Quando a operação deve concluir (assim que uma resposta estiver disponível ou após ler todo o conteúdo da resposta).
- cancellationToken
- CancellationToken
O token de cancelamento para cancelar a operação.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
O request é null.
A mensagem de pedido já tinha sido enviada pela HttpClient instância.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
Framework .NET apenas: o pedido expirou.
O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.
-ou-
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
Observações
Esta operação não bloqueia. Dependendo do valor do completionOption parâmetro, o objeto devolvido Task<TResult> será concluído assim que uma resposta estiver disponível ou a resposta completa, incluindo o conteúdo, for lida.
Note
Em caso de timeout, diferentes exceções são lançadas em diferentes implementações .NET.
- HttpRequestException está incluído em todas as versões aplicáveis do .NET Framework.
- OperationCanceledException sem exceção interna é aplicado em todas as versões .NET Core aplicáveis.
- OperationCanceledException que aninham um TimeoutException é lançado em .NET versões 5 e posteriores.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Send(HttpRequestMessage, HttpCompletionOption).
Aplica-se a
SendAsync(HttpRequestMessage)
Enviar um pedido HTTP como uma operação assíncrona.
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)
Parâmetros
- request
- HttpRequestMessage
A mensagem de pedido HTTP para enviar.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
O request é null.
A mensagem de pedido já tinha sido enviada pela HttpClient instância.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
Framework .NET apenas: O pedido expirou.
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
Observações
Esta operação não bloqueia. O objeto devolvido Task<TResult> será concluído assim que toda a resposta, incluindo o conteúdo, for lida. O comportamento é o mesmo que se ResponseContentRead tivesse sido explicitamente especificado.
Note
Em caso de timeout, diferentes exceções são lançadas em diferentes implementações .NET.
- HttpRequestException está incluído em todas as versões aplicáveis do .NET Framework.
- OperationCanceledException sem exceção interna é aplicado em todas as versões .NET Core aplicáveis.
- OperationCanceledException que aninham um TimeoutException é lançado em .NET versões 5 e posteriores.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Send(HttpRequestMessage).
Aplica-se a
SendAsync(HttpRequestMessage, HttpCompletionOption)
Enviar um pedido HTTP como uma operação assíncrona.
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)
Parâmetros
- request
- HttpRequestMessage
A mensagem de pedido HTTP para enviar.
- completionOption
- HttpCompletionOption
Quando a operação deve concluir (assim que uma resposta estiver disponível ou após ler todo o conteúdo da resposta).
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
O request é null.
A mensagem de pedido já tinha sido enviada pela HttpClient instância.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
Framework .NET apenas: O pedido expirou.
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
Observações
Esta operação não bloqueia. Dependendo do valor do completionOption parâmetro, o objeto devolvido Task<TResult> será concluído assim que uma resposta estiver disponível ou a resposta completa, incluindo o conteúdo, for lida.
Note
Em caso de timeout, diferentes exceções são lançadas em diferentes implementações .NET.
- HttpRequestException está incluído em todas as versões aplicáveis do .NET Framework.
- OperationCanceledException sem exceção interna é aplicado em todas as versões .NET Core aplicáveis.
- OperationCanceledException que aninham um TimeoutException é lançado em .NET versões 5 e posteriores.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Send(HttpRequestMessage, HttpCompletionOption).
Aplica-se a
SendAsync(HttpRequestMessage, CancellationToken)
Enviar um pedido HTTP como uma operação assíncrona.
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)
Parâmetros
- request
- HttpRequestMessage
A mensagem de pedido HTTP para enviar.
- cancellationToken
- CancellationToken
O token de cancelamento para cancelar a operação.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
O request é null.
A mensagem de pedido já tinha sido enviada pela HttpClient instância.
O pedido falhou devido a um problema em obter uma resposta HTTP válida, como falha de conectividade de rede, falha DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, a razão é indicada por HttpRequestError
-ou-
Framework .NET apenas: O pedido expirou.
O token de cancelamento foi cancelado. Esta exceção é armazenada na tarefa devolvida.
-ou-
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
Observações
Esta operação não bloqueia. O objeto devolvido Task<TResult> será concluído assim que toda a resposta, incluindo o conteúdo, for lida. O comportamento é o mesmo que se ResponseContentRead tivesse sido explicitamente especificado.
Note
Em caso de timeout, diferentes exceções são lançadas em diferentes implementações .NET.
- HttpRequestException está incluído em todas as versões aplicáveis do .NET Framework.
- OperationCanceledException sem exceção interna é aplicado em todas as versões .NET Core aplicáveis.
- OperationCanceledException que aninham um TimeoutException é lançado em .NET versões 5 e posteriores.
Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Send(HttpRequestMessage).