HttpClient.GetStringAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona.
Overload
| Nome | Descrizione |
|---|---|
| GetStringAsync(String) |
Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona. |
| GetStringAsync(Uri) |
Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona. |
Commenti
Questa operazione non viene bloccata.
GetStringAsync(String)
Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona.
public:
System::Threading::Tasks::Task<System::String ^> ^ GetStringAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<string> GetStringAsync(string requestUri);
member this.GetStringAsync : string -> System.Threading.Tasks.Task<string>
Public Function GetStringAsync (requestUri As String) As Task(Of String)
Parametri
- requestUri
- String
URI a cui viene inviata la richiesta.
Valori restituiti
Oggetto attività che rappresenta l'operazione asincrona.
Eccezioni
Non requestUri è un URI assoluto e BaseAddress non è impostato.
La richiesta non è riuscita a causa di un problema durante il recupero di una risposta HTTP valida, ad esempio un errore di connettività di rete, un errore DNS, un errore di convalida del certificato del server o una risposta del server non valida. In .NET 8 e versioni successive, il motivo è indicato da HttpRequestError
oppure
Il codice di stato della risposta non è compreso nell'intervallo compreso tra 200 e 299 (che indica l'esito positivo in base allo standard).
oppure
solo .NET Framework: timeout della richiesta.
.NET Core e .NET 5 e versioni successive: la richiesta non è riuscita a causa del timeout.
L'URI della richiesta fornito non è un URI relativo o assoluto valido.
Commenti
Questa operazione non viene bloccata. L'oggetto restituito Task<TResult> verrà completato dopo la lettura dell'intero corpo della risposta.
Internamente, questa operazione usa HttpResponseMessage.EnsureSuccessStatusCode per assicurarsi che il codice di stato della risposta sia compreso nell'intervallo di esito positivo (200-299) e genera un'eccezione HttpRequestException in caso contrario.
In alcuni scenari potrebbe essere necessario un maggiore controllo sui codici di stato considerati efficaci; Ad esempio, potrebbe essere previsto che un'API restituisca 200 OKsempre . In questi casi, è consigliabile controllare manualmente se StatusCode corrisponde al valore previsto.
Note
In caso di timeout:
- .NET Framework genera un'eccezione HttpRequestException.
- .NET Core genera un OperationCanceledException senza alcuna eccezione interna.
- .NET 5 e versioni successive generano un OperationCanceledException che annida un TimeoutException.
Si applica a
GetStringAsync(Uri)
Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona.
public:
System::Threading::Tasks::Task<System::String ^> ^ GetStringAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<string> GetStringAsync(Uri requestUri);
member this.GetStringAsync : Uri -> System.Threading.Tasks.Task<string>
Public Function GetStringAsync (requestUri As Uri) As Task(Of String)
Parametri
- requestUri
- Uri
URI a cui viene inviata la richiesta.
Valori restituiti
Oggetto attività che rappresenta l'operazione asincrona.
Eccezioni
Non requestUri è un URI assoluto e BaseAddress non è impostato.
La richiesta non è riuscita a causa di un problema durante il recupero di una risposta HTTP valida, ad esempio un errore di connettività di rete, un errore DNS, un errore di convalida del certificato del server o una risposta del server non valida. In .NET 8 e versioni successive, il motivo è indicato da HttpRequestError
oppure
Il codice di stato della risposta non è compreso nell'intervallo compreso tra 200 e 299 (che indica l'esito positivo in base allo standard).
oppure
solo .NET Framework: timeout della richiesta.
.NET Core e .NET 5 e versioni successive: la richiesta non è riuscita a causa del timeout.
Commenti
Questa operazione non viene bloccata. L'oggetto restituito Task<TResult> verrà completato dopo la lettura dell'intero corpo della risposta.
Internamente, questa operazione usa HttpResponseMessage.EnsureSuccessStatusCode per assicurarsi che il codice di stato della risposta sia compreso nell'intervallo di esito positivo (200-299) e genera un'eccezione HttpRequestException in caso contrario.
In alcuni scenari potrebbe essere necessario un maggiore controllo sui codici di stato considerati efficaci; Ad esempio, potrebbe essere previsto che un'API restituisca 200 OKsempre . In questi casi, è consigliabile controllare manualmente se StatusCode corrisponde al valore previsto.
Note
In caso di timeout:
- .NET Framework genera un'eccezione HttpRequestException.
- .NET Core genera un OperationCanceledException senza alcuna eccezione interna.
- .NET 5 e versioni successive generano un OperationCanceledException che annida un TimeoutException.