HttpClient.GetStreamAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skicka en GET-begäran till den angivna URI:n och returnera svarstexten som en ström i en asynkron åtgärd.
Överlagringar
| Name | Description |
|---|---|
| GetStreamAsync(Uri) |
Skicka en GET-begäran till den angivna URI:n och returnera svarstexten som en ström i en asynkron åtgärd. |
| GetStreamAsync(String) |
Skicka en GET-begäran till den angivna URI:n och returnera svarstexten som en ström i en asynkron åtgärd. |
Kommentarer
Åtgärden blockeras inte.
GetStreamAsync(Uri)
Skicka en GET-begäran till den angivna URI:n och returnera svarstexten som en ström i en asynkron åtgärd.
public:
System::Threading::Tasks::Task<System::IO::Stream ^> ^ GetStreamAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<System.IO.Stream> GetStreamAsync(Uri requestUri);
member this.GetStreamAsync : Uri -> System.Threading.Tasks.Task<System.IO.Stream>
Public Function GetStreamAsync (requestUri As Uri) As Task(Of Stream)
Parametrar
- requestUri
- Uri
Den URI som begäran skickas till.
Returer
Aktivitetsobjektet som representerar den asynkrona åtgärden.
Undantag
requestUri är inte en absolut URI och BaseAddress har inte angetts.
Begäran misslyckades på grund av ett problem med att få ett giltigt HTTP-svar, till exempel nätverksanslutningsfel, DNS-fel, verifieringsfel för servercertifikat eller ogiltigt serversvar. På .NET 8 och senare versioner anges orsaken av HttpRequestError
-eller-
Svarsstatuskoden låg utanför intervallet 200–299 (vilket indikerar att den lyckades enligt standarden).
-eller-
endast .NET Framework: Tidsgränsen för begäran har överskrids.
.NET Core och .NET endast 5 och senare: Begäran misslyckades på grund av tidsgränsen.
Kommentarer
Den här åtgärden blockeras inte. Det returnerade Task<Stream-objektet> slutförs när svarshuvudena har lästs. Den här metoden läser inte eller buffras inte svarstexten.
Internt används HttpResponseMessage.EnsureSuccessStatusCode den här åtgärden för att säkerställa att svarsstatuskoden är inom intervallet för lyckade åtgärder (200–299) och genererar en HttpRequestException om den inte är det.
I vissa scenarier kan du behöva mer kontroll över vilka statuskoder som anses vara framgångsrika. Till exempel kan ett API förväntas alltid returnera 200 OK. I sådana fall rekommenderar vi att du manuellt kontrollerar om StatusCode det matchar det förväntade värdet.
Note
Vid en timeout:
- .NET Framework genererar en HttpRequestException.
- .NET Core genererar en OperationCanceledException utan något inre undantag.
- .NET 5 och senare versioner genererar en OperationCanceledException som kapslar en TimeoutException.
Gäller för
GetStreamAsync(String)
Skicka en GET-begäran till den angivna URI:n och returnera svarstexten som en ström i en asynkron åtgärd.
public:
System::Threading::Tasks::Task<System::IO::Stream ^> ^ GetStreamAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<System.IO.Stream> GetStreamAsync(string requestUri);
member this.GetStreamAsync : string -> System.Threading.Tasks.Task<System.IO.Stream>
Public Function GetStreamAsync (requestUri As String) As Task(Of Stream)
Parametrar
- requestUri
- String
Den URI som begäran skickas till.
Returer
Aktivitetsobjektet som representerar den asynkrona åtgärden.
Undantag
requestUri är inte en absolut URI och BaseAddress har inte angetts.
Begäran misslyckades på grund av ett problem med att få ett giltigt HTTP-svar, till exempel nätverksanslutningsfel, DNS-fel, verifieringsfel för servercertifikat eller ogiltigt serversvar. På .NET 8 och senare versioner anges orsaken av HttpRequestError
-eller-
Svarsstatuskoden låg utanför intervallet 200–299 (vilket indikerar att den lyckades enligt standarden).
-eller-
endast .NET Framework: Tidsgränsen för begäran har överskrids.
.NET Core och .NET endast 5 och senare: Begäran misslyckades på grund av tidsgränsen.
Den angivna begärande-URI:n är inte giltig relativ eller absolut URI.
Kommentarer
Den här åtgärden blockeras inte. Det returnerade Task<Stream-objektet> slutförs när svarshuvudena har lästs. Den här metoden läser inte eller buffras inte svarstexten.
Internt används HttpResponseMessage.EnsureSuccessStatusCode den här åtgärden för att säkerställa att svarsstatuskoden är inom intervallet för lyckade åtgärder (200–299) och genererar en HttpRequestException om den inte är det.
I vissa scenarier kan du behöva mer kontroll över vilka statuskoder som anses vara framgångsrika. Till exempel kan ett API förväntas alltid returnera 200 OK. I sådana fall rekommenderar vi att du manuellt kontrollerar om StatusCode det matchar det förväntade värdet.
Note
Vid en timeout:
- .NET Framework genererar en HttpRequestException.
- .NET Core genererar en OperationCanceledException utan något inre undantag.
- .NET 5 och senare versioner genererar en OperationCanceledException som kapslar en TimeoutException.