System.Net.Http Spazio dei nomi
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.
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:
Componenti client HTTP che consentono agli utenti di utilizzare servizi Web moderni tramite HTTP.
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:
HttpClient : classe primaria usata per inviare e ricevere richieste tramite HTTP.
HttpRequestMessage e HttpResponseMessage - Messaggi HTTP definiti in RFC 2616 da IETF.
HttpHeaders - Intestazioni HTTP definite in RFC 2616 da IETF.
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.
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.
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.
ByteArrayContent - Contenuto HTTP basato su una matrice di byte.
FormUrlEncodedContent - Contenuto HTTP delle tuple nome/valore codificate con il tipo MIME application/x-www-form-urlencoded.
MultipartContent - Contenuto HTTP serializzato usando la specifica del tipo di contenuto multipart/* .
MultipartFormDataContent - Contenuto HTTP codificato usando il tipo MIME multipart/form-data.
StreamContent - Contenuto HTTP basato su un flusso.
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).