WinHttpHandler 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.
Gestisce i messaggi in base all'interfaccia WinHTTP di Windows. Questa classe è destinata all'uso 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à
Commenti
WinHttpHandler è simile ad altre classi esistenti, HttpClientHandlerad esempio . 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 versioni HTTP fino a HTTP/2.
WinHttpHandler fornisce agli sviluppatori un controllo più granulare sulla comunicazione HTTP dell'applicazione rispetto alla HttpClientHandler classe . In questo modo gli sviluppatori possono implementare scenari HTTP più avanzati o modificare le impostazioni predefinite del sistema( ad esempio, impostazioni proxy, timeout e convalida del certificato SSL del server).
WinHttpHandler non deve essere una sostituzione di HttpClientHandler. È invece una versione più avanzata fornita per gli scenari in cui HttpClientHandler non è sufficiente. WinHttpHandler viene implementato come wrapper sottile 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.
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.
Intestazioni finali
A partire dalla versione 6.0.0, WinHttpHandler supporta le intestazioni finali, note anche come trailer (RFC 7230 - 4.1.2. Parte trailer in blocchi).
- In .NET Standard 2.1 e .NET 8 o versione successiva, i trailer vengono aggiunti a TrailingHeaders.
- In .NET Framework i trailer vengono aggiunti a una proprietà nota in nell'oggetto HttpRequestMessage.Properties richiesta corrispondente alla risposta (HttpResponseMessage.RequestMessage). Il nome della proprietà è
__ResponseTrailers, il tipo del valore della proprietà è HttpHeaders.
Il supporto trailer viene implementato tramite il WINHTTP_QUERY_FLAG_TRAILERSflag di informazioni sulle query , introdotto in Windows 11, versione 21H2 (10.0; Build 22000). Nei sistemi Windows in cui WINHTTP_QUERY_FLAG_TRAILERS non è supportato, i trailer vengono ignorati.
Costruttori
| Nome | Descrizione |
|---|---|
| WinHttpHandler() |
Inizializza una nuova istanza della classe WinHttpHandler. |
Proprietà
| Nome | Descrizione |
|---|---|
| AutomaticDecompression |
Ottiene o imposta il tipo di metodo di decompressione utilizzato dal gestore per la decompressione automatica della risposta al 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 controllare l'elenco di revoche di certificati durante la convalida del certificato SSL. |
| ClientCertificateOption |
Ottiene o imposta un valore che indica se il certificato viene selezionato automaticamente dall'archivio certificati o se il chiamante può passare un certificato client specifico. |
| ClientCertificates |
Ottiene una raccolta di certificati SSL di autenticazione client utilizzati per l'autenticazione client dal gestore se la ClientCertificateOption proprietà è impostata su |
| CookieContainer |
Ottiene o imposta l'oggetto contenitore di cookie gestiti. Questa proprietà viene utilizzata solo quando la CookieUsePolicy proprietà è impostata su UseSpecifiedCookieContainer. In caso contrario, il SendAsync(HttpRequestMessage, CancellationToken) metodo genererà un'eccezione. |
| CookieUsePolicy |
Ottiene o imposta un valore che indica come devono essere gestiti e usati i cookie. Gli sviluppatori possono scegliere di ignorare i cookie, consentire al gestore di gestirli automaticamente o gestirli manualmente usando un CookieContainer oggetto . |
| DefaultProxyCredentials |
Quando viene usato il proxy predefinito (di sistema), ottiene o imposta le credenziali usate per l'invio 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 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 è possibile svuotare dalle risposte in byte. |
| MaxResponseHeadersLength |
Ottiene o imposta la lunghezza massima, espressa in kilobyte (1024 byte) delle intestazioni della risposta. |
| 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 HttpClient richieste. Il dizionario viene inizializzato vuoto; è possibile inserire ed eseguire query su coppie chiave-valore per i gestori personalizzati e l'elaborazione speciale. |
| Proxy |
Ottiene o imposta il proxy personalizzato quando la WindowsProxyUsePolicy proprietà è 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 di callback per convalidare il certificato del server. Questo callback fa parte dell'handshake SSL. |
| ServerCredentials |
Ottiene o imposta le credenziali da utilizzare dal client per l'autenticazione al 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 del 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
| Nome | Descrizione |
|---|---|
| Dispose() |
Rilascia le risorse non gestite ed elimina le risorse gestite usate da HttpMessageHandler. (Ereditato da HttpMessageHandler) |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate da WinHttpHandlere, 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 il Type dell'istanza corrente. (Ereditato da Object) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Invia una richiesta HTTP come operazione asincrona. |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |