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

L'esempio di codice precedente usa un async Task Main() punto di ingresso. Questa funzionalità richiede C# 7.1 o versione successiva.

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 creata un'istanza una volta e riutilizzata durante tutta la vita di un'applicazione. In .NET Core e .NET 5+, le connessioni HttpClient all'interno dell'istanza del gestore e riutilizzano una connessione tra più richieste. Se si crea un'istanza di una classe HttpClient per ogni richiesta, il numero di socket disponibili in carichi pesanti verrà esaurito. Questo esaurimento comporterà SocketException errori.

È possibile configurare opzioni aggiuntive passando un "gestore", ad HttpClientHandler esempio (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 istanza httpClient sarebbe se è necessario modificare le proprietà di connessione. Se richieste diverse richiedono impostazioni diverse, questo può causare anche un'applicazione con più HttpClient istanze, in cui ogni istanza è configurata in modo appropriato e quindi le richieste vengono rilasciate nel client pertinente.

HttpClient risolve solo le voci DNS quando viene creata una connessione. Non tiene traccia delle durate (TTL) specificate dal server DNS. Se le voci DNS cambiano regolarmente, che possono verificarsi in alcuni scenari di contenitore, il client non rispetta 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 un'unica istanza di HttpClient, è anche possibile usare IHttpClientFactory per gestire le istanze httpClient. Per altre informazioni, vedere Linee guida per l'uso di HttpClient.

Derivazione

L'oggetto HttpClient funge anche da classe di base per client HTTP più specifici. Un esempio è un FacebookHttpClient 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. Usare invece un overload del costruttore che accetta HttpMessageHandler per configurare qualsiasi elaborazione pre-richiesta o post-richiesta.

Trasporti

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

In ogni piattaforma, HttpClient tenta di usare il trasporto più disponibile:

Host/Runtime Back-end
Windows/.NET Framework HttpWebRequest
Windows/Mono HttpWebRequest
Windows/UWP Windows native WinHttpHandler (compatibile con HTTP 2.0)
Windows/.NET Core 1.0-2.0 Windows native WinHttpHandler (compatibile con HTTP 2.0)
Android/Xamarin Selezionato in fase di compilazione. Può essere usato o configurato per l'uso HttpWebRequest nativo di Android HttpURLConnection
iOS, tvOS, watchOS/Xamarin Selezionato in fase di compilazione. Può essere usato o configurato per l'uso HttpWebRequest di NSUrlSession Apple (con supporto HTTP 2.0)
macOS/Xamarin Selezionato in fase di compilazione. Può essere usato o configurato per l'uso HttpWebRequest di NSUrlSession Apple (con supporto HTTP 2.0)
macOS/Mono HttpWebRequest
macOS/.NET Core 1.0-2.0 libcurlTrasporto HTTP basato su HTTP (compatibile con HTTP 2.0)
Linux/Mono HttpWebRequest
Linux/.NET Core 1.0-2.0 libcurlTrasporto HTTP basato su HTTP (compatibile con HTTP 2.0)
.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 HttpMessageHandleroggetto .

.NET Framework & Mono

Per impostazione predefinita, .NET Framework e Mono vengono HttpWebRequest usati 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 HttpMessageHandler parametro.

.NET Core

A partire da .NET Core 2.1, la System.Net.Http.SocketsHttpHandler classe anziché fornisce l'implementazione usata dalle classi di HttpClientHandler rete HTTP di livello superiore, ad esempio 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 passandola manualmente al costruttore di HttpClient .

Configurare il comportamento usando le opzioni di configurazione del runtime

Alcuni aspetti del comportamento sono personalizzabili tramite le opzioni di HttpClientconfigurazione di Runtime. Tuttavia, il comportamento di queste opzioni differisce dalle versioni di .NET. Ad esempio, in .NET Core 2.1 - 3.1 è possibile configurare se SocketsHttpHandler viene usato per impostazione predefinita, ma questa opzione non è più disponibile a partire da .NET 5.0.

Pool di connessioni

HttpClient pool di connessioni HTTP, dove possibile e li usa per più richieste. Ciò può avere un vantaggio significativo sulle prestazioni, soprattutto per le richieste HTTPS, perché la handshake di connessione viene eseguita una sola volta.

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

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

Nota

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, ciò può 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.

Buffering e durata della richiesta

Per impostazione predefinita, i metodi HttpClient (ad eccezione GetStreamAsync) eseguono il buffer delle 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 uno dei seguenti:

È possibile modificare il comportamento di buffering in base alla richiesta usando il HttpCompletionOption parametro disponibile in alcuni overload del metodo. Questo argomento può essere usato per specificare se deve Task<TResult> essere considerato completo dopo aver letto solo le intestazioni di risposta o dopo la lettura e il buffering del 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 buffer predefinito, l'utilizzo della memoria client avrà dimensioni molto elevate, causando una riduzione significativa delle prestazioni.

Thread safety

I metodi seguenti sono thread safe:

Proxy

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

  • Proprietà Proxy in un httpClientHandler passato durante la costruzione di HttpClient
  • 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 lenta. Per applicazioni con velocità effettiva elevata in cui è noto che un proxy non è obbligatorio, è necessario disabilitare il proxy.

Le impostazioni proxy (come Credentials) devono essere modificate solo prima che venga effettuata la prima richiesta usando HttpClient. Le modifiche apportate dopo l'uso di HttpClient 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 di HttpClient. Il timeout si applica solo ai metodi xxxAsync che causano l'avvio di una richiesta/risposta. Se viene raggiunto il timeout, l'oggetto Task<TResult> per tale richiesta viene annullato.

È possibile impostare alcuni timeout aggiuntivi se si passa un'istanza SocketsHttpHandler quando si costruisce l'oggetto HttpClient:

Proprietà Descrizione
ConnectTimeout Specifica un timeout usato 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 usare 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 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 a quando non viene ricevuta una risposta "100-continue".

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

Costruttori

HttpClient()

Inizializza una nuova istanza della classe HttpClient con HttpClientHandler che viene eliminato quando viene eliminata l'istanza.

HttpClient(HttpMessageHandler)

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

HttpClient(HttpMessageHandler, Boolean)

Inizializza una nuova istanza della classe HttpClient con il gestore specificato e stabilisce se il gestore deve essere eliminato quando viene eliminata l'istanza.

Proprietà

BaseAddress

Ottiene o imposta l'indirizzo di base dell'URI (Uniform Resource Identifier) della risorsa Internet usata quando si inviano le 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 usata per le richieste successive effettuate da questa istanza di HttpClient.

DefaultVersionPolicy

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

MaxResponseContentBufferSize

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

Timeout

Ottiene o imposta l'intervallo di tempo da attendere prima che si verifichi il timeout della richiesta.

Metodi

CancelPendingRequests()

Annullare tutte le richieste in sospeso in questa istanza.

DeleteAsync(String)

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

DeleteAsync(String, 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.

DeleteAsync(Uri, CancellationToken)

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

Dispose()

Rilascia le risorse non gestite ed elimina le risorse gestite utilizzate dall'oggetto 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)

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

GetAsync(String, CancellationToken)

Inviare una richiesta GET all'URI specificato con 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, 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)

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)

Inviare una richiesta GET all'URI specificato con un'opzione di completamento HTTP 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.

GetByteArrayAsync(String)

Invia una richiesta GET all'URI specificato e restituisce il corpo della risposta come matrice di byte in un'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(Uri)

Inviare una richiesta GET all'URI specificato e restituire 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.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetStreamAsync(String)

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

GetStreamAsync(String, CancellationToken)

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

GetStreamAsync(Uri)

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

GetStreamAsync(Uri, CancellationToken)

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

GetStringAsync(String)

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

GetStringAsync(String, CancellationToken)

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

GetStringAsync(Uri)

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

GetStringAsync(Uri, CancellationToken)

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

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
PatchAsync(String, HttpContent)

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

PatchAsync(String, HttpContent, CancellationToken)

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

PatchAsync(Uri, HttpContent)

Invia una richiesta PATCH come operazione asincrona.

PatchAsync(Uri, HttpContent, CancellationToken)

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

PostAsync(String, HttpContent)

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

PostAsync(String, 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.

PostAsync(Uri, HttpContent, CancellationToken)

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

PutAsync(String, HttpContent)

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

PutAsync(String, 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.

PutAsync(Uri, HttpContent, CancellationToken)

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

Send(HttpRequestMessage)

Invia una richiesta HTTP con la richiesta specificata.

Send(HttpRequestMessage, CancellationToken)

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

Send(HttpRequestMessage, CancellationToken)

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

(Ereditato da HttpMessageInvoker)
Send(HttpRequestMessage, HttpCompletionOption)

Invia una richiesta HTTP.

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

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

SendAsync(HttpRequestMessage)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage, CancellationToken)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage, HttpCompletionOption)

Inviare una richiesta HTTP come operazione asincrona.

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

Inviare una richiesta HTTP come operazione asincrona.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Metodi di estensione

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, 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, 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(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, 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, 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, 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.

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.

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 enumerabile asincrona.

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 enumerabile 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 enumerabile asincrona.

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 enumerabile asincrona.

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 enumerabile asincrona.

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 enumerabile 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, 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, 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(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, 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, 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, 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.

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.

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, String, 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.

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

Invia una richiesta PATCH 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 value serializzato come JSON nel corpo della richiesta.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Si applica a

Vedi anche