System.Net.Http Spazio dei nomi

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

Classi

ByteArrayContent

Fornisce il contenuto HTTP basato su una matrice di byte.

DelegatingHandler

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

FormUrlEncodedContent

Contenitore per le tuple nome/valore codificate utilizzando 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

Il gestore di messaggi predefinito usato da HttpClient.NET Framework e .NET Core 2.0 e versioni precedenti.

HttpContent

Classe base che rappresenta un corpo di entità e intestazioni di contenuto HTTP.

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 di specializzazione che consente alle applicazioni di chiamare il metodo SendAsync(HttpRequestMessage, CancellationToken) su una catena del gestore HTTP.

HttpMethod

Classe di helper per recuperare e confrontare i metodi HTTP standard e per creare nuovi metodi HTTP.

HttpProtocolException

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

HttpRequestException

Classe base per eccezioni generate dalle classi HttpClient 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 un'elaborazione limitata dei messaggi di richiesta e/o risposta.

MultipartContent

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

MultipartFormDataContent

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

ReadOnlyMemoryContent

Fornisce contenuto HTTP in base a ReadOnlyMemory<T>.

RtcRequestFactory

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

SocketsHttpConnectionContext

Rappresenta il contesto passato a ConnectCallback per un'istanza di SocketsHttpHandler. .

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 il contenuto HTTP basato su un flusso.

StringContent

Fornisce il contenuto HTTP basato su una stringa.

WebRequestHandler

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

WinHttpHandler

Gestisce i messaggi in base all'interfaccia WinHTTP di Windows. Questa classe deve essere usata in ambienti server.

Struct

HttpRequestOptionsKey<TValue>

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

Interfacce

IHttpClientFactory

Astrazione della factory per un componente che può creare istanze di HttpClient con una configurazione personalizzata per un nome logico specificato.

IHttpMessageHandlerFactory

Astrazione della factory per un componente che può creare istanze di HttpMessageHandler con una configurazione personalizzata per un nome logico specificato.

Enumerazioni

ClientCertificateOption

Specifica come i certificati client vengono forniti.

CookieUsePolicy

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

HttpCompletionOption

Indica se le operazioni di HttpClient devono essere considerate completate non appena la risposta è disponibile o dopo la lettura dell'intero messaggio di risposta, incluso il contenuto.

HttpKeepAlivePingPolicy

Specifica quando il frame 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 le opzioni disponibili per le impostazioni proxy usate da un HttpClient durante l'esecuzione in Windows.

Delegati

HeaderEncodingSelector<TContext>

Rappresenta un metodo che specifica la codifica da usare per l'interpretazione dei valori di intestazione.

Commenti

Lo System.Net.Http spazio dei nomi è progettato per fornire quanto segue:

  1. Componenti client HTTP che consentono agli utenti di utilizzare servizi Web moderni tramite HTTP.

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

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

  1. HttpClient : classe primaria usata per inviare e ricevere richieste tramite HTTP.

  2. HttpRequestMessage e HttpResponseMessage - Messaggi HTTP definiti in RFC 2616 da IETF.

  3. HttpHeaders - Intestazioni HTTP definite in RFC 2616 da IETF.

  4. HttpClientHandler - Gestori HTTP responsabili della produzione di messaggi di risposta HTTP.

Sono disponibili vari gestori di messaggi HTTP che è possibile usare. Questi includono quanto segue.

  1. DelegatingHandler - Classe usata per collegare un gestore in una catena di gestori.

  2. HttpMessageHandler - Classe semplice da cui derivare che supporta i requisiti più comuni per la maggior parte delle applicazioni.

  3. HttpClientHandler : classe che opera nella parte inferiore della catena di gestori che gestisce effettivamente le operazioni di trasporto HTTP.

  4. WebRequestHandler - Classe speciale che opera nella parte inferiore della classe della catena di gestori che gestisce le operazioni di trasporto HTTP con opzioni specifiche per l'oggetto System.Net.HttpWebRequest .

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

È possibile usare diverse classi per il contenuto HTTP. Questi includono quanto segue.

  1. ByteArrayContent - Contenuto HTTP basato su una matrice di byte.

  2. FormUrlEncodedContent - Contenuto HTTP delle tuple nome/valore codificate con il tipo MIME application/x-www-form-urlencoded.

  3. MultipartContent - Contenuto HTTP serializzato usando la specifica del tipo di contenuto multipart/* .

  4. MultipartFormDataContent - Contenuto HTTP codificato usando il tipo MIME multipart/form-data.

  5. StreamContent - Contenuto HTTP basato su un flusso.

  6. StringContent - Contenuto HTTP basato su una stringa.

Se un'app che usa gli spazi dei System.Net.Http nomi e System.Net.Http.Headers intende scaricare grandi quantità di dati (50 megabyte o più), l'app deve trasmettere tali download e non usare il buffer predefinito. Se viene usato il buffering predefinito, l'utilizzo della memoria client risulterà molto grande, con conseguente riduzione sostanziale delle prestazioni.

Le classi negli spazi dei System.Net.Http nomi e System.Net.Http.Headers possono essere usate per sviluppare app di Windows Store o app desktop. Se usato in un'app di Windows Store, le classi negli System.Net.Http spazi dei nomi e System.Net.Http.Headers sono interessate dalla funzionalità di isolamento della rete, parte del modello di sicurezza delle applicazioni usato dalla Windows 8. Le funzionalità di rete appropriate devono essere abilitate nel manifesto dell'app per un'app di Windows Store per consentire l'accesso alla rete da un'app di Windows Store. Per altre informazioni, vedere Network Isolation for Windows Store Apps (Isolamento rete per le app di Windows Store).

Vedi anche