HttpClient.GetByteArrayAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci.
Přetížení
| Name | Description |
|---|---|
| GetByteArrayAsync(String) |
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci. |
| GetByteArrayAsync(Uri) |
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci. |
| GetByteArrayAsync(String, CancellationToken) |
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci. |
| GetByteArrayAsync(Uri, CancellationToken) |
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci. |
Poznámky
Operace nebude blokována.
GetByteArrayAsync(String)
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<byte[]> GetByteArrayAsync(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())
Parametry
- requestUri
- String
Identifikátor URI, na který se požadavek odešle.
Návraty
Objekt úkolu představující asynchronní operaci.
Výjimky
Nejedná se requestUri o absolutní identifikátor URI a BaseAddress není nastavený.
Požadavek se nepovedl kvůli problému se získáním platné odpovědi HTTP, jako je selhání síťového připojení, selhání DNS, chyba ověření certifikátu serveru nebo neplatná odpověď serveru. Na .NET 8 a novějších verzích je důvod označen HttpRequestError
nebo
Stavový kód odpovědi byl mimo rozsah 200–299 (který označuje úspěch podle standardu).
nebo
pouze .NET Framework: Vypršel časový limit požadavku.
.NET Core a .NET 5 a novějších verzích: Požadavek selhal kvůli vypršení časového limitu.
Zadaný identifikátor URI požadavku není platný relativní nebo absolutní identifikátor URI.
Poznámky
Tato operace neblokuje. Vrácený Task<TResult> objekt se dokončí po přečtení celého textu odpovědi.
Tato operace interně používá HttpResponseMessage.EnsureSuccessStatusCode k zajištění, že stavový kód odpovědi je v rozsahu úspěchu (200–299) a vyvolá HttpRequestException výjimku, pokud ne.
V některých scénářích můžete potřebovat větší kontrolu nad tím, které stavové kódy se považují za úspěšné; Například by se dalo očekávat, že rozhraní API vždy vrátí 200 OK. V takových případech doporučujeme ručně zkontrolovat, jestli StatusCode odpovídá očekávané hodnotě.
Note
V případě časového limitu se u různých implementací .NET vyvolá různé výjimky.
- HttpRequestException je vyvolán u všech použitelných verzí rozhraní .NET Framework.
- OperationCanceledException bez vnitřní výjimky je vyvolán u všech použitelných verzí .NET Core.
- OperationCanceledException, která vnořuje TimeoutException je vyvolán na .NET 5 a novějších verzích.
Platí pro
GetByteArrayAsync(Uri)
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<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())
Parametry
- requestUri
- Uri
Identifikátor URI, na který se požadavek odešle.
Návraty
Objekt úkolu představující asynchronní operaci.
Výjimky
Nejedná se requestUri o absolutní identifikátor URI a BaseAddress není nastavený.
Požadavek se nepovedl kvůli problému se získáním platné odpovědi HTTP, jako je selhání síťového připojení, selhání DNS, chyba ověření certifikátu serveru nebo neplatná odpověď serveru. Na .NET 8 a novějších verzích je důvod označen HttpRequestError.
nebo
Stavový kód odpovědi byl mimo rozsah 200–299 (který označuje úspěch podle standardu).
nebo
pouze .NET Framework: Vypršel časový limit požadavku.
.NET Core a .NET 5 a novějších verzích: Požadavek selhal kvůli vypršení časového limitu.
Poznámky
Tato operace neblokuje. Vrácený Task<TResult> objekt se dokončí po přečtení celého textu odpovědi.
Tato operace interně používá HttpResponseMessage.EnsureSuccessStatusCode k zajištění, že stavový kód odpovědi je v rozsahu úspěchu (200–299) a vyvolá HttpRequestException výjimku, pokud ne.
V některých scénářích můžete potřebovat větší kontrolu nad tím, které stavové kódy se považují za úspěšné; Například by se dalo očekávat, že rozhraní API vždy vrátí 200 OK. V takových případech doporučujeme ručně zkontrolovat, jestli StatusCode odpovídá očekávané hodnotě.
Note
V případě časového limitu:
- .NET Framework vyvolá HttpRequestException.
- .NET Core vyvolá OperationCanceledException bez vnitřní výjimky.
- .NET 5 a novějších verzích vyvolá OperationCanceledException, která vnořuje TimeoutException.
Platí pro
GetByteArrayAsync(String, CancellationToken)
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(System::String ^ requestUri, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<byte[]> GetByteArrayAsync(string? requestUri, System.Threading.CancellationToken cancellationToken);
member this.GetByteArrayAsync : string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<byte[]>
Public Function GetByteArrayAsync (requestUri As String, cancellationToken As CancellationToken) As Task(Of Byte())
Parametry
- requestUri
- String
Identifikátor URI, na který se požadavek odešle.
- cancellationToken
- CancellationToken
Token zrušení pro zrušení operace.
Návraty
Objekt úkolu představující asynchronní operaci.
Výjimky
Požadavek se nepovedl kvůli problému se získáním platné odpovědi HTTP, jako je selhání síťového připojení, selhání DNS, chyba ověření certifikátu serveru nebo neplatná odpověď serveru. Na .NET 8 a novějších verzích je důvod označen HttpRequestError
nebo
Stavový kód odpovědi byl mimo rozsah 200–299 (který označuje úspěch podle standardu).
Zadaný identifikátor URI požadavku není platný relativní nebo absolutní identifikátor URI.
Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.
nebo
.NET Core a .NET 5 a novějších verzích: Požadavek selhal kvůli vypršení časového limitu.
Poznámky
Tato operace neblokuje. Vrácený Task<TResult> objekt se dokončí po přečtení celého textu odpovědi.
Tato operace interně používá HttpResponseMessage.EnsureSuccessStatusCode k zajištění, že stavový kód odpovědi je v rozsahu úspěchu (200–299) a vyvolá HttpRequestException výjimku, pokud ne.
V některých scénářích můžete potřebovat větší kontrolu nad tím, které stavové kódy se považují za úspěšné; Například by se dalo očekávat, že rozhraní API vždy vrátí 200 OK. V takových případech doporučujeme ručně zkontrolovat, jestli StatusCode odpovídá očekávané hodnotě.
Note
V případě časového limitu:
- .NET Framework vyvolá HttpRequestException.
- .NET Core vyvolá OperationCanceledException bez vnitřní výjimky.
- .NET 5 a novějších verzích vyvolá OperationCanceledException, která vnořuje TimeoutException.
Platí pro
GetByteArrayAsync(Uri, CancellationToken)
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
- Zdroj:
- HttpClient.cs
Odešle požadavek GET na zadaný identifikátor URI a vrátí tělo odpovědi jako pole bajtů v asynchronní operaci.
public:
System::Threading::Tasks::Task<cli::array <System::Byte> ^> ^ GetByteArrayAsync(Uri ^ requestUri, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.Task<byte[]> GetByteArrayAsync(Uri? requestUri, System.Threading.CancellationToken cancellationToken);
member this.GetByteArrayAsync : Uri * System.Threading.CancellationToken -> System.Threading.Tasks.Task<byte[]>
Public Function GetByteArrayAsync (requestUri As Uri, cancellationToken As CancellationToken) As Task(Of Byte())
Parametry
- requestUri
- Uri
Identifikátor URI, na který se požadavek odešle.
- cancellationToken
- CancellationToken
Token zrušení pro zrušení operace.
Návraty
Objekt úkolu představující asynchronní operaci.
Výjimky
Požadavek se nepovedl kvůli problému se získáním platné odpovědi HTTP, jako je selhání síťového připojení, selhání DNS, chyba ověření certifikátu serveru nebo neplatná odpověď serveru. Na .NET 8 a novějších verzích je důvod označen HttpRequestError
nebo
Stavový kód odpovědi byl mimo rozsah 200–299 (který označuje úspěch podle standardu).
Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.
nebo
.NET Core a .NET 5 a novějších verzích: Požadavek selhal kvůli vypršení časového limitu.
Poznámky
Tato operace neblokuje. Vrácený Task<TResult> objekt se dokončí po přečtení celého textu odpovědi.
Tato operace interně používá HttpResponseMessage.EnsureSuccessStatusCode k zajištění, že stavový kód odpovědi je v rozsahu úspěchu (200–299) a vyvolá HttpRequestException výjimku, pokud ne.
V některých scénářích můžete potřebovat větší kontrolu nad tím, které stavové kódy se považují za úspěšné; Například by se dalo očekávat, že rozhraní API vždy vrátí 200 OK. V takových případech doporučujeme ručně zkontrolovat, jestli StatusCode odpovídá očekávané hodnotě.
Note
V případě časového limitu:
- .NET Framework vyvolá HttpRequestException.
- .NET Core vyvolá OperationCanceledException bez vnitřní výjimky.
- .NET 5 a novějších verzích vyvolá OperationCanceledException, která vnořuje TimeoutException.