HttpClient.GetByteArrayAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
向指定的 URI 發送 GET 請求,並以非同步操作將回應實體以位元組陣列形式回傳。
多載
| 名稱 | Description |
|---|---|
| GetByteArrayAsync(String) |
發送 GET 請求至指定的 URI,並以非同步操作回傳回應實體為位元組陣列。 |
| GetByteArrayAsync(Uri) |
向指定的 URI 發送 GET 請求,並以非同步操作將回應實體以位元組陣列形式回傳。 |
備註
行動不會被阻擋。
GetByteArrayAsync(String)
發送 GET 請求至指定的 URI,並以非同步操作回傳回應實體為位元組陣列。
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())
參數
- requestUri
- String
請求被送達的 URI。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在 .NET 8 及以後版本中,原因以 HttpRequestError 表示
-或-
回應狀態碼超出200-299(標準中代表成功)範圍。
-或-
僅限 .NET 框架:請求已逾時。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
所提供的請求 URI 既非有效的相對 URI,也非絕對 URI。
備註
這個操作不會阻擋。 回傳 Task<TResult> 物件會在讀取整個回應體後完成。
內部操作 HttpResponseMessage.EnsureSuccessStatusCode 用來確保回應狀態碼在成功範圍內(200-299),若未達成功則拋出 a HttpRequestException 。
在某些情況下,您可能需要更多控制哪些狀態碼被視為成功;例如,一個 API 可能被期望總是回傳 200 OK。 在這種情況下,我們建議手動檢查是否 StatusCode 符合預期值。
Note
若逾時,會對不同的 .NET 實作拋出不同的例外。
- HttpRequestException 會被丟在所有適用的 .NET Framework 版本上。
- OperationCanceledException 在所有適用的 .NET Core 版本中,且無任何內部例外。
- OperationCanceledException 巢狀的 TimeoutException 會丟.NET 5 及以後版本。
適用於
GetByteArrayAsync(Uri)
向指定的 URI 發送 GET 請求,並以非同步操作將回應實體以位元組陣列形式回傳。
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())
參數
- requestUri
- Uri
請求被送達的 URI。
傳回
表示異步操作的工作物件。
例外狀況
這 requestUri 不是絕對的 URI,也 BaseAddress 沒有設定好。
請求失敗是因為無法取得有效的 HTTP 回應,例如網路連線失敗、DNS 故障、伺服器憑證驗證錯誤或伺服器回應無效。 在.NET 8及以後版本中,原因以HttpRequestError表示。
-或-
回應狀態碼超出200-299(標準中代表成功)範圍。
-或-
僅限 .NET 框架:請求已逾時。
僅 .NET Core 及 .NET 5 及以後版本:因逾時而請求失敗。
備註
這個操作不會阻擋。 回傳 Task<TResult> 物件會在讀取整個回應體後完成。
內部操作 HttpResponseMessage.EnsureSuccessStatusCode 用來確保回應狀態碼在成功範圍內(200-299),若未達成功則拋出 a HttpRequestException 。
在某些情況下,您可能需要更多控制哪些狀態碼被視為成功;例如,一個 API 可能被期望總是回傳 200 OK。 在這種情況下,我們建議手動檢查是否 StatusCode 符合預期值。
Note
若有暫停:
- .NET Framework 會拋出 HttpRequestException。
- .NET 核心會拋出 OperationCanceledException,且沒有內部例外。
- .NET 5 及以後版本會丟出一個 OperationCanceledException,該 巢狀為 TimeoutException。