HttpClient Classe

Definizione

Fornisce una classe per l'invio di richieste HTTP e la ricezione di risposte HTTP da una risorsa identificata da un URI.

public ref class HttpClient : System::Net::Http::HttpMessageInvoker
public class HttpClient : System.Net.Http.HttpMessageInvoker
type HttpClient = class
    inherit HttpMessageInvoker
Public Class HttpClient
Inherits HttpMessageInvoker
Ereditarietà

Esempio

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();

static async Task Main()
{
    // Call asynchronous network methods in a try/catch block to handle exceptions.
    try
    {
        using HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();
        // Above three lines can be replaced with new helper method below
        // string responseBody = await client.GetStringAsync(uri);

        Console.WriteLine(responseBody);
    }
    catch (HttpRequestException e)
    {
        Console.WriteLine("\nException Caught!");
        Console.WriteLine("Message :{0} ", e.Message);
    }
}
open System.Net.Http

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
let client = new HttpClient()

let main =
    task {
        // Call asynchronous network methods in a try/catch block to handle exceptions.
        try
            use! response = client.GetAsync "http://www.contoso.com/"
            response.EnsureSuccessStatusCode() |> ignore
            let! responseBody = response.Content.ReadAsStringAsync()
            // Above three lines can be replaced with new helper method below
            // let! responseBody = client.GetStringAsync uri

            printfn $"{responseBody}"
        with
        | :? HttpRequestException as e ->
            printfn "\nException Caught!"
            printfn $"Message :{e.Message} "
    }

main.Wait()
' HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
Shared ReadOnly client As HttpClient = New HttpClient()

Private Shared Async Function Main() As Task
    ' Call asynchronous network methods in a try/catch block to handle exceptions.
    Try
        Using response As HttpResponseMessage = Await client.GetAsync("http://www.contoso.com/")
            response.EnsureSuccessStatusCode()
            Dim responseBody As String = Await response.Content.ReadAsStringAsync()
            ' Above three lines can be replaced with new helper method below
            ' Dim responseBody As String = Await client.GetStringAsync(uri)

            Console.WriteLine(responseBody)
        End Using
    Catch e As HttpRequestException
        Console.WriteLine(Environment.NewLine & "Exception Caught!")
        Console.WriteLine("Message :{0} ", e.Message)
    End Try
End Function

Commenti

L'istanza della HttpClient classe funge da sessione per inviare richieste HTTP. Un'istanza HttpClient è una raccolta di impostazioni applicate a tutte le richieste eseguite da tale istanza. Inoltre, ogni HttpClient istanza usa il proprio pool di connessioni, isolando le richieste dalle richieste eseguite da altre HttpClient istanze.

Instancing

HttpClient deve essere istanziato una sola volta e riutilizzato per tutta la durata di un'applicazione. In .NET Core e .NET 5+, HttpClient raggruppa le connessioni all'interno dell'istanza del gestore e riutilizza una connessione tra più richieste. Quando si crea un'istanza di una classe HttpClient per ogni richiesta, il numero di socket disponibili sotto carichi pesanti verrà esaurito. Questo esaurimento genererà SocketException errori.

È possibile configurare opzioni aggiuntive passando un "gestore", ad esempio HttpClientHandler (o SocketsHttpHandler in .NET Core 2.1 o versione successiva), come parte del costruttore. Le proprietà di connessione nel gestore non possono essere modificate dopo l'invio di una richiesta, quindi un motivo per creare una nuova HttpClient istanza sarebbe se fosse necessario modificare le proprietà di connessione. Se richieste diverse richiedono impostazioni diverse, questo può comportare anche la presenza di più HttpClient istanze di un'applicazione, in cui ogni istanza è configurata in modo appropriato e quindi le richieste vengono inviate nel client pertinente.

HttpClient risolve solo le voci DNS quando viene creata una connessione. Non tiene traccia del tempo di vita (TTL) delle durate specificate dal server DNS. Se le voci DNS cambiano regolarmente, che possono verificarsi in alcuni scenari di contenitore, il client non rispetterà tali aggiornamenti. Per risolvere questo problema, è possibile limitare la durata della connessione impostando la SocketsHttpHandler.PooledConnectionLifetime proprietà , in modo che la ricerca DNS sia necessaria quando la connessione viene sostituita.

public class GoodController : ApiController
{
    private static readonly HttpClient httpClient;

    static GoodController()
    {
        var socketsHandler = new SocketsHttpHandler
        {
            PooledConnectionLifetime = TimeSpan.FromMinutes(2)
        };

        httpClient = new HttpClient(socketsHandler);
    }
}

In alternativa alla creazione di una HttpClient sola istanza, è anche possibile usare IHttpClientFactory per gestire le HttpClient istanze. Per ricevere ulteriori informazioni, consultare l'articolo Linee guida per l'uso di HttpClient.

Derivazione

Funge HttpClient anche da classe di base per client HTTP più specifici. Un esempio è un FacebookHttpClient oggetto che fornisce metodi aggiuntivi specifici di un servizio Web Facebook (ad esempio, un GetFriends metodo). Le classi derivate non devono eseguire l'override dei metodi virtuali nella classe . Invece, usa un overload del costruttore che accetta HttpMessageHandler per configurare qualunque elaborazione pre-richiesta o post-richiesta.

Transports

è un'API HttpClient di alto livello che esegue il wrapping delle funzionalità di livello inferiore disponibili in ogni piattaforma in cui viene eseguita.

In ogni piattaforma tenta HttpClient di usare il trasporto migliore disponibile:

Host/Runtime backend
framework Windows/.NET HttpWebRequest
Windows/Mono HttpWebRequest
Windows/UWP Windows nativo WinHttpHandler (compatibile con HTTP 2.0)
Windows/.NET Core 1.0-2.0 Windows nativo WinHttpHandler (compatibile con HTTP 2.0)
macOS/Mono HttpWebRequest
macOS/.NET Core 1.0-2.0 libcurlTrasporto HTTP basato su libcurl (compatibile con HTTP/2)
Linux/Mono HttpWebRequest
Linux/.NET Core 1.0-2.0 libcurlTrasporto HTTP basato su libcurl (compatibile con HTTP/2)
.NET Core 2.1 e versioni successive System.Net.Http.SocketsHttpHandler

Gli utenti possono anche configurare un trasporto specifico per HttpClient richiamando il HttpClient costruttore che accetta un oggetto HttpMessageHandler.

.NET Framework e Mono

Per impostazione predefinita, in .NET Framework e Mono viene HttpWebRequest usato per inviare richieste al server. Questo comportamento può essere modificato specificando un gestore diverso in uno degli overload del costruttore con un HttpMessageHandler parametro . Se sono necessarie funzionalità come l'autenticazione o la memorizzazione nella cache, è possibile usare WebRequestHandler per configurare le impostazioni e l'istanza può essere passata al costruttore. Il gestore restituito può essere passato a un overload del costruttore con un parametro HttpMessageHandler.

.NET Core

A partire da .NET Core 2.1, la classe System.Net.Http.SocketsHttpHandler anziché HttpClientHandler fornisce l'implementazione utilizzata dalle classi HTTP di livello superiore come HttpClient. L'uso di SocketsHttpHandler offre numerosi vantaggi:

  • Miglioramento significativo delle prestazioni rispetto all'implementazione precedente.
  • Eliminazione delle dipendenze della piattaforma, che semplifica la distribuzione e la manutenzione. Ad esempio, libcurl non è più una dipendenza da .NET Core per macOS e .NET Core per Linux.
  • Comportamento coerente in tutte le piattaforme .NET.

Se questa modifica è indesiderata, in Windows è possibile continuare a usare WinHttpHandler facendo riferimento al pacchetto NuGet e passandolo manualmente al costruttore di HttpClient .

Configurare il comportamento usando le opzioni di configurazione di runtime

Alcuni aspetti del HttpClientcomportamento sono personalizzabili tramite le opzioni di configurazione di runtime. Tuttavia, il comportamento di questi interruttori differisce attraverso le versioni di .NET. Ad esempio, in .NET Core 2.1 - 3.1 è possibile configurare se SocketsHttpHandler viene usato per impostazione predefinita, ma tale opzione non è più disponibile a partire da .NET 5.

Pool di connessioni

HttpClient aggrega pool di connessioni HTTP laddove possibile e le utilizza per più di una richiesta. Ciò può avere un vantaggio significativo in termini di prestazioni, soprattutto per le richieste HTTPS, perché l'handshake di connessione viene eseguito una sola volta.

Le proprietà del pool di connessioni possono essere configurate su un oggetto HttpClientHandler o SocketsHttpHandler passate durante la costruzione, tra cui MaxConnectionsPerServer, PooledConnectionIdleTimeout, e PooledConnectionLifetime.

L'eliminazione dell'istanza HttpClient chiude le connessioni aperte e annulla le richieste in sospeso.

Note

Se si inviano simultaneamente richieste HTTP/1.1 allo stesso server, è possibile creare nuove connessioni. Anche se si riutilizza l'istanza HttpClient , se la frequenza delle richieste è elevata o se sono presenti limitazioni del firewall, è possibile esaurire i socket disponibili a causa dei timer di pulizia TCP predefiniti. Per limitare il numero di connessioni simultanee, è possibile impostare la MaxConnectionsPerServer proprietà . Per impostazione predefinita, il numero di connessioni HTTP/1.1 simultanee è illimitato.

Memorizzazione nel buffer e durata delle richieste

Per impostazione predefinita, i metodi HttpClient (ad eccezione di GetStreamAsync) memorizzano nel buffer le risposte dal server, leggendo tutto il corpo della risposta in memoria prima di restituire il risultato asincrono. Tali richieste continueranno fino a quando non si verifica una delle seguenti operazioni:

È possibile modificare il comportamento di buffering per ogni richiesta usando il parametro HttpCompletionOption disponibile in alcuni overload del metodo. Questo argomento può essere usato per specificare se il Task<TResult> debba essere considerato completo dopo aver letto solo le intestazioni della risposta o dopo aver letto e memorizzato in memoria temporanea il contenuto della risposta.

Se l'app che usa HttpClient e classi correlate nello System.Net.Http spazio dei nomi intende scaricare grandi quantità di dati (50 megabyte o più), l'app deve trasmettere tali download e non usare il buffer predefinito. Se si usa il buffering predefinito, l'utilizzo della memoria client avrà dimensioni molto elevate, con conseguente riduzione sostanziale delle prestazioni.

Sicurezza dei thread

I metodi seguenti sono thread-safe:

Proxy

Per impostazione predefinita, HttpClient legge la configurazione del proxy dalle variabili di ambiente o dalle impostazioni utente/sistema, a seconda della piattaforma. È possibile modificare questo comportamento passando un WebProxy o un IWebProxy, in ordine di precedenza:

  • Proprietà Proxy su un HttpClientHandler oggetto passato durante HttpClient la costruzione
  • La DefaultProxy proprietà statica (influisce su tutte le istanze)

È possibile disabilitare il proxy usando UseProxy. La configurazione predefinita per gli utenti di Windows consiste nel provare a rilevare un proxy usando l'individuazione di rete, che può essere lento. Per le applicazioni a velocità effettiva elevata in cui è noto che un proxy non è necessario, è consigliabile disabilitare il proxy.

Le impostazioni proxy (ad esempio Credentials) devono essere modificate solo prima che venga effettuata la prima richiesta usando .HttpClient Le modifiche apportate dopo l'utilizzo HttpClient di per la prima volta potrebbero non essere riflesse nelle richieste successive.

Timeout

È possibile usare Timeout per impostare un timeout predefinito per tutte le richieste HTTP dall'istanza HttpClient . Il timeout si applica solo ai metodi xxxAsync che causano l'avvio di una richiesta/risposta. Se il timeout viene raggiunto, l'oggetto Task<TResult> relativo a quella richiesta viene annullato.

È possibile impostare alcuni timeout aggiuntivi se si passa un'istanza SocketsHttpHandler durante la costruzione dell'oggetto HttpClient :

Proprietà Description
ConnectTimeout Specifica un timeout utilizzato quando una richiesta richiede la creazione di una nuova connessione TCP. Se si verifica il timeout, la richiesta Task<TResult> viene annullata.
PooledConnectionLifetime Specifica un timeout da utilizzare per ogni connessione nel pool di connessioni. Se la connessione è inattiva, la connessione viene chiusa immediatamente; in caso contrario, la connessione viene chiusa alla fine della richiesta corrente.
PooledConnectionIdleTimeout Se una connessione nel pool di connessioni è inattiva per questo lungo periodo, la connessione viene chiusa.
Expect100ContinueTimeout Se la richiesta ha un'intestazione "Expect: 100-continue", ritarda l'invio del contenuto fino al timeout o fino alla ricezione di una risposta "100-continue".

HttpClient risolve solo le voci DNS quando vengono create le connessioni. Non tiene traccia del tempo di vita (TTL) delle durate specificate dal server DNS. Se le voci DNS cambiano regolarmente, che possono verificarsi in alcuni scenari di contenitore, è possibile usare PooledConnectionLifetime per limitare la durata della connessione in modo che la ricerca DNS sia necessaria quando si sostituisce la connessione.

Costruttori

Nome Descrizione
HttpClient()

Inizializza una nuova istanza della HttpClient classe utilizzando un HttpClientHandler oggetto eliminato quando questa istanza viene eliminata.

HttpClient(HttpMessageHandler, Boolean)

Inizializza una nuova istanza della HttpClient classe con il gestore fornito e specifica se tale gestore deve essere eliminato quando questa istanza viene eliminata.

HttpClient(HttpMessageHandler)

Inizializza una nuova istanza della HttpClient classe con il gestore specificato. Il gestore viene eliminato quando questa istanza viene eliminata.

Proprietà

Nome Descrizione
BaseAddress

Ottiene o imposta l'indirizzo di base dell'URI (Uniform Resource Identifier) della risorsa Internet utilizzata durante l'invio delle richieste.

DefaultProxy

Ottiene o imposta il proxy HTTP globale.

DefaultRequestHeaders

Ottiene le intestazioni che devono essere inviate con ogni richiesta.

DefaultRequestVersion

Ottiene o imposta la versione HTTP predefinita utilizzata nelle richieste successive effettuate da questa HttpClient istanza.

DefaultVersionPolicy

Ottiene o imposta i criteri di versione predefiniti per le richieste create in modo implicito nei metodi pratici, GetAsync(String) ad esempio e PostAsync(String, HttpContent).

MaxResponseContentBufferSize

Ottiene o imposta il numero massimo di byte da memorizzare nel buffer durante la lettura del contenuto della risposta.

Timeout

Ottiene o imposta l'intervallo di tempo di attesa prima del timeout della richiesta.

Metodi

Nome Descrizione
CancelPendingRequests()

Annullare tutte le richieste in sospeso in questa istanza.

DeleteAsync(String, CancellationToken)

Inviare una richiesta DELETE all'URI specificato con un token di annullamento come operazione asincrona.

DeleteAsync(String)

Inviare una richiesta DELETE all'URI specificato come operazione asincrona.

DeleteAsync(Uri, CancellationToken)

Inviare una richiesta DELETE all'URI specificato con un token di annullamento come operazione asincrona.

DeleteAsync(Uri)

Inviare una richiesta DELETE all'URI specificato come operazione asincrona.

Dispose()

Rilascia le risorse non gestite ed elimina le risorse gestite usate da HttpMessageInvoker.

(Ereditato da HttpMessageInvoker)
Dispose(Boolean)

Rilascia le risorse non gestite usate da HttpClient e, facoltativamente, elimina le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetAsync(String, CancellationToken)

Inviare una richiesta GET all'URI specificato con un token di annullamento come operazione asincrona.

GetAsync(String, HttpCompletionOption, CancellationToken)

Inviare una richiesta GET all'URI specificato con un'opzione di completamento HTTP e un token di annullamento come operazione asincrona.

GetAsync(String, HttpCompletionOption)

Inviare una richiesta GET all'URI specificato con un'opzione di completamento HTTP come operazione asincrona.

GetAsync(String)

Inviare una richiesta GET all'URI specificato come operazione asincrona.

GetAsync(Uri, CancellationToken)

Inviare una richiesta GET all'URI specificato con un token di annullamento come operazione asincrona.

GetAsync(Uri, HttpCompletionOption, CancellationToken)

Inviare una richiesta GET all'URI specificato con un'opzione di completamento HTTP e un token di annullamento come operazione asincrona.

GetAsync(Uri, HttpCompletionOption)

Inviare una richiesta GET all'URI specificato con un'opzione di completamento HTTP come operazione asincrona.

GetAsync(Uri)

Inviare una richiesta GET all'URI specificato come operazione asincrona.

GetByteArrayAsync(String, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il corpo della risposta come matrice di byte in un'operazione asincrona.

GetByteArrayAsync(String)

Invia una richiesta GET all'URI specificato e restituisce il corpo della risposta come matrice di byte in un'operazione asincrona.

GetByteArrayAsync(Uri, CancellationToken)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come matrice di byte in un'operazione asincrona.

GetByteArrayAsync(Uri)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come matrice di byte in un'operazione asincrona.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetStreamAsync(String, CancellationToken)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come flusso in un'operazione asincrona.

GetStreamAsync(String)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come flusso in un'operazione asincrona.

GetStreamAsync(Uri, CancellationToken)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come flusso in un'operazione asincrona.

GetStreamAsync(Uri)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come flusso in un'operazione asincrona.

GetStringAsync(String, CancellationToken)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona.

GetStringAsync(String)

Inviare una richiesta GET all'URI specificato e restituire il corpo della risposta come stringa in un'operazione asincrona.

GetStringAsync(Uri, CancellationToken)

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.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
PatchAsync(String, HttpContent, CancellationToken)

Invia una richiesta PATCH con un token di annullamento a un URI rappresentato come stringa come operazione asincrona.

PatchAsync(String, HttpContent)

Invia una richiesta PATCH a un URI designato come stringa come operazione asincrona.

PatchAsync(Uri, HttpContent, CancellationToken)

Invia una richiesta PATCH con un token di annullamento come operazione asincrona.

PatchAsync(Uri, HttpContent)

Invia una richiesta PATCH come operazione asincrona.

PostAsync(String, HttpContent, CancellationToken)

Inviare una richiesta POST con un token di annullamento come operazione asincrona.

PostAsync(String, HttpContent)

Inviare una richiesta POST all'URI specificato come operazione asincrona.

PostAsync(Uri, HttpContent, CancellationToken)

Inviare una richiesta POST con un token di annullamento come operazione asincrona.

PostAsync(Uri, HttpContent)

Inviare una richiesta POST all'URI specificato come operazione asincrona.

PutAsync(String, HttpContent, CancellationToken)

Inviare una richiesta PUT con un token di annullamento come operazione asincrona.

PutAsync(String, HttpContent)

Inviare una richiesta PUT all'URI specificato come operazione asincrona.

PutAsync(Uri, HttpContent, CancellationToken)

Inviare una richiesta PUT con un token di annullamento come operazione asincrona.

PutAsync(Uri, HttpContent)

Inviare una richiesta PUT all'URI specificato come operazione asincrona.

Send(HttpRequestMessage, CancellationToken)

Invia una richiesta HTTP con la richiesta e il token di annullamento specificati.

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Invia una richiesta HTTP con la richiesta, l'opzione di completamento e il token di annullamento specificati.

Send(HttpRequestMessage, HttpCompletionOption)

Invia una richiesta HTTP.

Send(HttpRequestMessage)

Invia una richiesta HTTP con la richiesta specificata.

SendAsync(HttpRequestMessage, CancellationToken)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage, HttpCompletionOption)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage)

Inviare una richiesta HTTP come operazione asincrona.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Metodi di estensione

Nome Descrizione
DeleteFromJsonAsync(HttpClient, String, Type, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta DELETE all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, CancellationToken)

Invia una HTTP GETrichiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

Invia una HTTP GET richiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

Invia una HTTP GETrichiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, CancellationToken)

Invia una HTTP GETrichiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

Invia una HTTP GETrichiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

Invia una HTTP GETrichiesta all'oggetto specificato requestUri e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona enumerabile.

GetFromJsonAsync(HttpClient, String, Type, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta GET all'URI specificato e restituisce il valore risultante dalla deserializzazione del corpo della risposta come JSON in un'operazione asincrona.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta PATCH all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Invia una richiesta POST all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

Inviare una richiesta PUT all'URI specificato contenente il value serializzato come JSON nel corpo della richiesta.

Si applica a

Vedi anche