HttpClient.GetByteArrayAsync Método

Definição

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

Task<Byte[]>

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.

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

Task<Byte[]>

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:

Aplica-se a