HttpClient.GetByteArrayAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona.
Sobrecargas
| Nome | Description |
|---|---|
| GetByteArrayAsync(String) |
Envia uma solicitação GET para o URI especificado e retorna o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
| GetByteArrayAsync(Uri) |
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma operação assíncrona. |
Comentários
A operação não será bloqueada.
GetByteArrayAsync(String)
Envia uma solicitação GET para o URI especificado e retorna o corpo da resposta como uma matriz de bytes em uma 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 o qual a solicitação é enviada.
Retornos
O objeto de tarefa que representa a operação assíncrona.
Exceções
O requestUri URI não é absoluto e BaseAddress não está definido.
A solicitação falhou devido a um problema ao obter uma resposta HTTP válida, como falha de conectividade de rede, falha de DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em versões .NET 8 e posteriores, o motivo é indicado por HttpRequestError
-ou-
O código de status de resposta estava fora do intervalo de 200 a 299 (que indicam êxito de acordo com o padrão).
-ou-
somente .NET Framework: a solicitação atingiu o tempo limite.
.NET Core e .NET 5 e posterior somente: a solicitação falhou devido ao tempo limite.
O URI de solicitação fornecido não é URI relativo ou absoluto válido.
Comentários
Essa operação não é bloqueada. O objeto retornado Task<TResult> será concluído depois que todo o corpo da resposta for lido.
Internamente, essa operação usa HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de status de resposta esteja no intervalo de êxito (200-299) e gera um HttpRequestException caso não esteja.
Em alguns cenários, talvez você precise de mais controle sobre quais códigos de status são considerados bem-sucedidos; por exemplo, uma API pode ser esperada para sempre retornar 200 OK. Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
Em caso de tempo limite, exceções diferentes são geradas em diferentes implementações de .NET.
- HttpRequestException é lançada em todas as versões do .NET Framework aplicáveis.
- OperationCanceledException sem nenhuma exceção interna é lançada em todas as versões do .NET Core aplicáveis.
- OperationCanceledException que aninha um TimeoutException é lançado em versões .NET 5 e posteriores.
Aplica-se a
GetByteArrayAsync(Uri)
Envie uma solicitação GET para o URI especificado e retorne o corpo da resposta como uma matriz de bytes em uma 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 o qual a solicitação é enviada.
Retornos
O objeto de tarefa que representa a operação assíncrona.
Exceções
O requestUri URI não é absoluto e BaseAddress não está definido.
A solicitação falhou devido a um problema ao obter uma resposta HTTP válida, como falha de conectividade de rede, falha de DNS, erro de validação de certificado do servidor ou resposta inválida do servidor. Em .NET 8 e versões posteriores, o motivo é indicado por HttpRequestError.
-ou-
O código de status de resposta estava fora do intervalo de 200 a 299 (que indicam êxito de acordo com o padrão).
-ou-
somente .NET Framework: a solicitação atingiu o tempo limite.
.NET Core e .NET 5 e posterior somente: a solicitação falhou devido ao tempo limite.
Comentários
Essa operação não é bloqueada. O objeto retornado Task<TResult> será concluído depois que todo o corpo da resposta for lido.
Internamente, essa operação usa HttpResponseMessage.EnsureSuccessStatusCode para garantir que o código de status de resposta esteja no intervalo de êxito (200-299) e gera um HttpRequestException caso não esteja.
Em alguns cenários, talvez você precise de mais controle sobre quais códigos de status são considerados bem-sucedidos; por exemplo, uma API pode ser esperada para sempre retornar 200 OK. Nesses casos, recomendamos verificar manualmente se StatusCode corresponde ao valor esperado.
Note
No caso de um tempo limite:
- .NET Framework lança um HttpRequestException.
- .NET Core gera um OperationCanceledException sem nenhuma exceção interna.
- .NET 5 e versões posteriores lançam um OperationCanceledException que aninha um TimeoutException.