HttpClient.GetByteArrayAsync 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.
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um array de bytes numa operação assíncrona.
Sobrecargas
| Name | Description |
|---|---|
| GetByteArrayAsync(String) |
Envia um pedido GET para o URI especificado e devolve o corpo de resposta como um array de bytes numa operação assíncrona. |
| GetByteArrayAsync(Uri) |
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um array de bytes numa operação assíncrona. |
Observações
A operação não vai bloquear.
GetByteArrayAsync(String)
Envia um pedido GET para o URI especificado e devolve o corpo de resposta como um array de bytes numa operação assíncrona.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<byte[]> GetByteArrayAsync(string requestUri);
member this.GetByteArrayAsync : string -> System.Threading.Tasks.Task<byte[]>
Public Function GetByteArrayAsync (requestUri As String) As Task(Of Byte())
Parâmetros
- requestUri
- String
O URI para onde o pedido é enviado.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
Não requestUri é um URI absoluto e BaseAddress não está configurado.
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-
O código de estado de resposta estava fora do intervalo de 200-299 (o que indica sucesso segundo o padrão).
-ou-
Framework .NET apenas: O pedido expirou.
.NET Core e .NET 5 e posteriores apenas: O pedido falhou devido ao timeout.
O URI de pedido fornecido não é válido relativo nem absoluto.
Observações
Esta operação não bloqueia. O objeto devolvido Task<TResult> será concluído depois de todo o corpo de resposta ser lido.
Internamente, esta operação serve HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de estado da resposta está no intervalo de sucesso (200-299) e lança um HttpRequestException caso contrário.
Em alguns cenários, pode ser necessário mais controlo sobre quais os códigos de estado considerados bem-sucedidos; por exemplo, uma API pode ser esperada que devolva 200 OKsempre . Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
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.
Aplica-se a
GetByteArrayAsync(Uri)
Envie um pedido GET para o URI especificado e retorne o corpo de resposta como um array de bytes numa operação assíncrona.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<byte[]> GetByteArrayAsync(Uri requestUri);
member this.GetByteArrayAsync : Uri -> System.Threading.Tasks.Task<byte[]>
Public Function GetByteArrayAsync (requestUri As Uri) As Task(Of Byte())
Parâmetros
- requestUri
- Uri
O URI para onde o pedido é enviado.
Devoluções
O objeto tarefa que representa a operação assíncrona.
Exceções
Não requestUri é um URI absoluto e BaseAddress não está configurado.
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. Nas versões .NET 8 e posteriores, a razão é indicada por HttpRequestError.
-ou-
O código de estado de resposta estava fora do intervalo de 200-299 (o que indica sucesso segundo o padrão).
-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 depois de todo o corpo de resposta ser lido.
Internamente, esta operação serve HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de estado da resposta está no intervalo de sucesso (200-299) e lança um HttpRequestException caso contrário.
Em alguns cenários, pode ser necessário mais controlo sobre quais os códigos de estado considerados bem-sucedidos; por exemplo, uma API pode ser esperada que devolva 200 OKsempre . Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
Em caso de tempo morto:
- .NET Framework lança um HttpRequestException.
- .NET Core lança um OperationCanceledException sem qualquer exceção interna.
- .NET versões 5 e posteriores lançam um OperationCanceledException que aninhou um TimeoutException.