WinHttpHandler Classe

Definizione

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

public ref class WinHttpHandler : System::Net::Http::HttpMessageHandler
public class WinHttpHandler : System.Net.Http.HttpMessageHandler
type WinHttpHandler = class
    inherit HttpMessageHandler
Public Class WinHttpHandler
Inherits HttpMessageHandler
Ereditarietà
WinHttpHandler

Commenti

WinHttpHandler è simile ad altre classi esistenti, ad HttpClientHandleresempio . WinHttpHandler fornisce un gestore sotto un'istanza HttpClient e viene usato per inviare richieste HTTP a un server e ricevere risposte del server. L'implementazione WinHttpHandler supporta le versioni HTTP fino a HTTP/2.

WinHttpHandlerè progettato per essere usato principalmente negli ambienti server da ASP.NET Core e da altre applicazioni .NET che comunicano con i server HTTP. WinHttpHandler offre inoltre agli sviluppatori un controllo più granulare sulla comunicazione HTTP dell'applicazione rispetto alla HttpClientHandler classe . Ciò consente agli sviluppatori di implementare scenari HTTP più avanzati o di modificare le impostazioni predefinite del sistema, ad esempio impostazioni proxy, timeout e convalida del certificato SSL del server.

WinHttpHandler non è destinato a essere una sostituzione di HttpClientHandler. È invece una versione più avanzata fornita per gli scenari in cui HttpClientHandler non è sufficiente. WinHttpHandler viene implementato come thin wrapper nell'interfaccia WinHTTP di Windows ed è supportato solo nei sistemi Windows.

Quando si usa una catena di più gestori, WinHttpHandler deve trovarsi nella parte inferiore della catena.

Questa classe è disponibile anche per l'uso nelle app desktop tramite l'installazione come pacchetto NuGet. Per altre informazioni, vedere Pacchetto NuGet System.Net.Http.WinHttpHandler.

A partire da .NET 5, WinHttpHandler non è più incluso nell'assembly System.Net.Http.dll come parte del runtime .NET. Per altre informazioni, vedere WinHttpHandler rimosso dal runtime .NET.

Costruttori

WinHttpHandler()

Inizializza una nuova istanza della classe WinHttpHandler.

Proprietà

AutomaticDecompression

Ottiene o imposta il tipo di metodo di decompressione usato dal gestore per la decompressione automatica della risposta del contenuto HTTP.

AutomaticRedirection

Ottiene o imposta un valore che indica se il gestore deve seguire le risposte di reindirizzamento HTTP.

CheckCertificateRevocationList

Ottiene o imposta un valore che indica se verificare l'elenco di revoche di certificati (CRL) durante la convalida del certificato SSL.

ClientCertificateOption

Ottiene o imposta un valore che indica se il certificato viene selezionato automaticamente dall'archivio certificati oppure se il chiamante è autorizzato a passare un certificato client specifico.

ClientCertificates

Ottiene una raccolta di certificati SSL di autenticazione client che vengono usati per l'autenticazione client da parte del gestore, se la proprietà ClientCertificateOption è impostata su Manual.

CookieContainer

Ottiene o imposta l'oggetto contenitore del cookie gestito. Questa proprietà viene usata solo quando la proprietà CookieUsePolicy è impostata su UseSpecifiedCookieContainer. In caso contrario, il metodo SendAsync(HttpRequestMessage, CancellationToken) genererà un'eccezione.

CookieUsePolicy

Ottiene o imposta un valore che indica come gestire e usare i cookie. Gli sviluppatori possono scegliere di ignorare i cookie, consentire al gestore di gestirli automaticamente o gestirli manualmente tramite un oggetto CookieContainer.

DefaultProxyCredentials

Ottiene o imposta le credenziali usate per autenticare l'utente con un proxy di autenticazione.

EnableMultipleHttp2Connections

Ottiene o imposta un valore che indica se è possibile stabilire connessioni HTTP/2 aggiuntive allo stesso server quando viene raggiunto il numero massimo di flussi simultanei in tutte le connessioni esistenti.

MaxAutomaticRedirections

Ottiene o imposta il numero massimo di reindirizzamenti HTTP consentiti.

MaxConnectionsPerServer

Ottiene o imposta il numero massimo di connessioni TCP 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 dimensione massima della parte di intestazione dalla risposta del server in byte.

PreAuthenticate

Ottiene o imposta un valore che indica se il gestore invia un'intestazione di autorizzazione con la richiesta.

Properties

Ottiene un dizionario modificabile (una mappa) delle 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à WindowsProxyUsePolicy è impostata per l'uso di un proxy personalizzato.

ReceiveDataTimeout

Ottiene o imposta il timeout per la ricezione della parte di dati di una risposta dal server.

ReceiveHeadersTimeout

Ottiene o imposta il timeout per la ricezione delle intestazioni di una risposta dal server.

SendTimeout

Ottiene o imposta il timeout per l'invio di una richiesta.

ServerCertificateValidationCallback

Ottiene o imposta un metodo callback per convalidare il certificato del server. Questo callback fa parte dell'handshake SSL.

ServerCredentials

Ottiene o imposta le credenziali che devono essere usate dal client per l'autenticazione con il server.

SslProtocols

Ottiene o imposta la raccolta di protocolli TLS/SSL supportati dal client.

TcpKeepAliveEnabled

Ottiene o imposta un valore che indica se tcp keep-alive è abilitato.

TcpKeepAliveInterval

Ottiene o imposta l'intervallo keep-alive TCP.

TcpKeepAliveTime

Ottiene o imposta il timeout keep-alive TCP.

WindowsProxyUsePolicy

Ottiene o imposta l'impostazione proxy. Questa proprietà può essere impostata per disabilitare il proxy, usare un proxy personalizzato o usare le impostazioni proxy di WinHTTP o WinInet nel computer.

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 WinHttpHandler e, facoltativamente, elimina le risorse gestite.

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)

Invia una richiesta HTTP come operazione asincrona.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a