SocketsHttpHandler Classe
Definizione
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 il gestore di messaggi predefinito usato da HttpClient in .NET Core 2.1 e versioni successive.
public ref class SocketsHttpHandler sealed : System::Net::Http::HttpMessageHandler
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type SocketsHttpHandler = class
inherit HttpMessageHandler
type SocketsHttpHandler = class
inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
- Ereditarietà
- Attributi
Commenti
A partire da .NET Core 2.1, la SocketsHttpHandler
classe fornisce l'implementazione usata da classi di rete HTTP di livello superiore, ad HttpClientesempio . 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 e si è in .NET Core 2.1-3.1, è possibile configurare l'applicazione in modo da usare la classe precedente System.Net.Http.HttpClientHandler invece in diversi modi:
Chiamando il AppContext.SetSwitch metodo come indicato di seguito:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
Definendo l'opzione
System.Net.Http.UseSocketsHttpHandler
nel file di configurazione .netcore.runtimeconfig.json :"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
Definendo una variabile di ambiente denominata
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
e impostandola sufalse
o 0.
Queste opzioni di configurazione non sono disponibili a partire da .NET 5.
Costruttori
SocketsHttpHandler() |
Crea un'istanza di una classe SocketsHttpHandler. |
Proprietà
ActivityHeadersPropagator |
Ottiene o imposta il propagatore da utilizzare durante la propagazione della traccia distribuita e del contesto.
Usare |
AllowAutoRedirect |
Ottiene o imposta un valore che indica se il gestore deve seguire le risposte di reindirizzamento. |
AutomaticDecompression |
Ottiene o imposta il tipo di metodo di decompressione usato dal gestore per la decompressione automatica della risposta del contenuto HTTP. |
ConnectCallback |
Ottiene o imposta un callback personalizzato usato per aprire nuove connessioni. |
ConnectTimeout |
Ottiene o imposta l'intervallo di tempo di attesa prima che si verifichi il timeout della richiesta. |
CookieContainer |
Ottiene o imposta l'oggetto contenitore del cookie gestito. |
Credentials |
Ottiene o imposta le informazioni sull'autenticazione usate dal gestore. |
DefaultProxyCredentials |
Quando viene usato il proxy predefinito (di sistema), ottiene o imposta le credenziali da inviare al server proxy predefinito per l'autenticazione. |
EnableMultipleHttp2Connections |
Ottiene o imposta un valore che indica se è possibile stabilire connessioni HTTP/2 aggiuntive allo stesso server. |
EnableMultipleHttp3Connections |
Fornisce il gestore di messaggi predefinito usato da HttpClient in .NET Core 2.1 e versioni successive. |
Expect100ContinueTimeout |
Ottiene o imposta il valore di timeout per la risposta HTTP 100 Continue del server. |
InitialHttp2StreamWindowSize |
Definisce le dimensioni iniziali della finestra di ricezione del flusso HTTP2 per tutte le connessioni aperte da .SocketsHttpHandler |
IsSupported |
Ottiene un valore che indica se il gestore è supportato nella piattaforma corrente. |
KeepAlivePingDelay |
Ottiene o imposta il ritardo del ping keep-alive. |
KeepAlivePingPolicy |
Ottiene o imposta il comportamento del ping keep-alive. |
KeepAlivePingTimeout |
Ottiene o imposta il timeout del ping keep-alive. |
MaxAutomaticRedirections |
Ottiene o imposta il numero massimo di reindirizzamenti HTTP consentiti. |
MaxConnectionsPerServer |
Ottiene o imposta il numero massimo di connessioni TCP simultanee consentite a un singolo server. |
MaxResponseDrainSize |
Ottiene o imposta la quantità massima di dati che possono essere svuotati dalle risposte in byte. |
MaxResponseHeadersLength |
Ottiene o imposta la lunghezza massima in kilobyte (1024 byte) delle intestazioni di risposta. |
MeterFactory |
Ottiene o imposta l'oggetto IMeterFactory per creare un oggetto personalizzato Meter per l'istanza SocketsHttpHandler di . |
PlaintextStreamFilter |
Ottiene o imposta un callback personalizzato che consente l'accesso al flusso del protocollo HTTP senza crittografia. |
PooledConnectionIdleTimeout |
Ottiene o imposta il tempo per il quale una connessione può rimanere inattiva nel pool ed essere considerata riutilizzabile. |
PooledConnectionLifetime |
Ottiene o imposta il tempo per il quale una connessione può rimanere nel pool ed essere considerata riutilizzabile. |
PreAuthenticate |
Ottiene o imposta un valore che indica se il gestore invia un'intestazione di autorizzazione con la richiesta. |
Properties |
Ottiene un dizionario scrivibile , ovvero una mappa, di proprietà personalizzate per le richieste HttpClient. Il dizionario viene inizializzato vuoto. È possibile inserire e cercare coppie chiave-valore per i gestori personalizzati e l'elaborazione speciale. |
Proxy |
Ottiene o imposta il proxy personalizzato quando la proprietà UseProxy è |
RequestHeaderEncodingSelector |
Ottiene o imposta un callback che seleziona l'oggetto Encoding per codificare i valori di intestazione della richiesta. |
ResponseDrainTimeout |
Ottiene o imposta l'intervallo di tempo di attesa per lo svuotamento dei dati dalle risposte. |
ResponseHeaderEncodingSelector |
Ottiene o imposta un callback che seleziona l'oggetto per decodificare i valori dell'intestazione Encoding della risposta. |
SslOptions |
Ottiene o imposta il set di opzioni usato per l'autenticazione TLS del client. |
UseCookies |
Ottiene o imposta un valore che indica se il gestore deve usare i cookie. |
UseProxy |
Ottiene o imposta un valore che indica se il gestore deve usare un proxy. |
Metodi
Dispose() |
Rilascia le risorse non gestite ed elimina le risorse gestite utilizzate dall'oggetto HttpMessageHandler. (Ereditato da HttpMessageHandler) |
Dispose(Boolean) |
Rilascia le risorse non gestite usate da HttpMessageHandler e, facoltativamente, elimina le risorse gestite. (Ereditato da HttpMessageHandler) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
Send(HttpRequestMessage, CancellationToken) |
Quando viene eseguito l'override in una classe derivata, invia una richiesta HTTP con la richiesta e il token di annullamento specificati. in caso contrario, genera NotSupportedException. (Ereditato da HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
Inviare una richiesta HTTP come operazione asincrona. (Ereditato da HttpMessageHandler) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |