Condividi tramite


System.Net.Http Spazio dei nomi

Fornisce un'interfaccia di programmazione per le applicazioni HTTP moderne.

Classi

Nome Descrizione
ByteArrayContent

Fornisce contenuto HTTP basato su una matrice di byte.

DelegatingHandler

Tipo per i gestori HTTP che delegano l'elaborazione dei messaggi di risposta HTTP a un altro gestore, denominato gestore interno.

FormUrlEncodedContent

Contenitore per tuple nome/valore codificate con il tipo MIME application/x-www-form-urlencoded.

HttpClient

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

HttpClientFactoryExtensions

Metodi di estensione per IHttpClientFactory.

HttpClientHandler

Gestore di messaggi predefinito usato da HttpClient in .NET Framework e .NET Core 2.0 e versioni precedenti.

HttpContent

Classe di base che rappresenta un corpo dell'entità HTTP e le intestazioni del contenuto.

HttpDiagnosticsHttpRequestMessageExtensions

Estensioni per le utilità di telemetria.

HttpIOException

Eccezione generata quando si verifica un errore durante la lettura della risposta.

HttpMessageHandler

Tipo di base per i gestori di messaggi HTTP.

HttpMessageHandlerFactoryExtensions

Metodi di estensione per IHttpMessageHandlerFactory.

HttpMessageInvoker

Classe specializzata che consente alle applicazioni di chiamare il SendAsync(HttpRequestMessage, CancellationToken) metodo su una catena di gestori HTTP.

HttpMethod

Classe helper per il recupero e il confronto di metodi HTTP standard e per la creazione di nuovi metodi HTTP.

HttpProtocolException

Eccezione generata quando si verifica un errore del protocollo HTTP/2 o HTTP/3.

HttpRequestException

Classe di base per le eccezioni generate dalle HttpClient classi e HttpMessageHandler .

HttpRequestMessage

Rappresenta un messaggio di richiesta HTTP.

HttpRequestOptions

Rappresenta una raccolta di opzioni per una richiesta HTTP.

HttpResilienceHttpRequestMessageExtensions

Estensioni di resilienza per HttpRequestMessage.

HttpResponseMessage

Rappresenta un messaggio di risposta HTTP che include il codice di stato e i dati.

MessageProcessingHandler

Tipo di base per i gestori che eseguono solo alcune piccole elaborazioni di messaggi di richiesta e/o risposta.

MultipartContent

Fornisce una raccolta di HttpContent oggetti che vengono serializzati usando la specifica del tipo di contenuto multipart/*.

MultipartFormDataContent

Fornisce un contenitore per il contenuto codificato usando il tipo MIME multipart/form-data.

ReadOnlyMemoryContent

Fornisce contenuto HTTP basato su un oggetto ReadOnlyMemory<T>.

RtcRequestFactory

Fornisce un'interfaccia di programmazione per le applicazioni HTTP moderne.

SocketsHttpConnectionContext

Rappresenta il contesto passato a per un'istanza ConnectCallbackSocketsHttpHandler di . .

SocketsHttpHandler

Fornisce il gestore di messaggi predefinito usato da HttpClient in .NET Core 2.1 e versioni successive.

SocketsHttpPlaintextStreamFilterContext

Rappresenta il contesto passato a PlaintextStreamFilter per un'istanza SocketsHttpHandler.

StreamContent

Fornisce contenuto HTTP basato su un flusso.

StringContent

Fornisce contenuto HTTP basato su una stringa.

WebRequestHandler

Fornisce funzionalità specifiche del desktop non disponibili per le app di Windows Store o altri ambienti.

WinHttpHandler

Gestisce i messaggi in base all'interfaccia WinHTTP di Windows. Questa classe è destinata all'uso in ambienti server.

Struct

Nome Descrizione
HttpRequestOptionsKey<TValue>

Rappresenta una chiave nella raccolta di opzioni per una richiesta HTTP.

Interfacce

Nome Descrizione
IHttpClientFactory

Astrazione factory per un componente in grado di creare HttpClient istanze con configurazione personalizzata per un determinato nome logico.

IHttpMessageHandlerFactory

Astrazione factory per un componente in grado di creare HttpMessageHandler istanze con configurazione personalizzata per un determinato nome logico.

Enumerazioni

Nome Descrizione
ClientCertificateOption

Specifica il modo in cui vengono forniti i certificati client.

CookieUsePolicy

Questa enumerazione consente il controllo dei cookie HTTP durante la comunicazione con il server.

HttpCompletionOption

Indica se HttpClient operazioni devono essere considerate completate non appena è disponibile una risposta o dopo aver letto l'intero messaggio di risposta, incluso il contenuto.

HttpKeepAlivePingPolicy

Specifica quando il frame di ping HTTP/2 viene inviato in una connessione inattiva.

HttpRequestError

Definisce le categorie di errore che rappresentano il motivo di HttpRequestException o HttpIOException.

HttpVersionPolicy

Specifica i comportamenti per la selezione e la negoziazione della versione HTTP per una richiesta.

WindowsProxyUsePolicy

Questa enumerazione fornisce opzioni disponibili per le impostazioni proxy usate da un HttpClient durante l'esecuzione in Windows.

Delegati

Nome Descrizione
HeaderEncodingSelector<TContext>

Rappresenta un metodo che specifica la codifica da utilizzare per interpretare i valori di intestazione.

Commenti

Lo System.Net.Http spazio dei nomi è progettato per fornire i componenti seguenti:

  • Componenti client HTTP che consentono agli utenti di utilizzare servizi Web moderni tramite HTTP.
  • Componenti HTTP che possono essere usati sia da client che da server (intestazioni HTTP e messaggi, ad esempio). In questo modo viene fornito un modello di programmazione coerente sia sul lato client che sul lato server per i servizi Web moderni su HTTP.

Lo System.Net.Http spazio dei nomi e lo spazio dei nomi correlato System.Net.Http.Headers forniscono il set di componenti seguente:

Sono disponibili vari gestori di messaggi HTTP che è possibile usare:

  • DelegatingHandler - Classe usata per collegare un gestore in una catena di gestori.
  • HttpMessageHandler - Classe semplice da cui derivare che supporta i requisiti più comuni per la maggior parte delle applicazioni.
  • HttpClientHandler - Classe che opera nella parte inferiore della catena di gestori che gestisce effettivamente le operazioni di trasporto HTTP.

Il contenuto di un messaggio HTTP corrisponde al corpo dell'entità definito in RFC 2616.

Per il contenuto HTTP è possibile usare le classi seguenti:

Se l'app usa gli System.Net.Http spazi dei nomi e System.Net.Http.Headers e intende scaricare grandi quantità di dati (50 megabyte o più), 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.

Vedi anche