HttpClient.GetStreamAsync Metod

Definition

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:

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:

Gäller för