WinHttpHandler Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verarbeitet Nachrichten basierend auf der WinHTTP-Schnittstelle von Windows. Diese Klasse ist für die Verwendung in Serverumgebungen vorgesehen.
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
- Vererbung
Hinweise
WinHttpHandler ähnelt anderen vorhandenen Klassen, z HttpClientHandler. B. . WinHttpHandler stellt einen Handler unter einer HttpClient Instanz bereit und wird verwendet, um HTTP-Anforderungen an einen Server zu senden und Serverantworten zu empfangen. Die WinHttpHandler Implementierung unterstützt HTTP-Versionen bis http/2.
WinHttpHandler bietet Entwicklern eine genauere Kontrolle über die HTTP-Kommunikation der Anwendung als die HttpClientHandler Klasse. Auf diese Weise können Entwickler erweiterte HTTP-Szenarien implementieren oder Systemstandardwerte ändern (z. B. Proxyeinstellungen, Timeouts und Ssl-Zertifikatüberprüfung des Servers).
WinHttpHandler ist nicht als Ersatz für HttpClientHandler. Stattdessen handelt es sich um eine komplexere Version, die für Szenarien bereitgestellt wird, in denen HttpClientHandler nicht ausreichend ist. WinHttpHandler wird als dünner Wrapper auf der WinHTTP-Schnittstelle von Windows implementiert und wird nur auf Windows-Systemen unterstützt.
Wenn Sie eine Kette mehrerer Handler verwenden, WinHttpHandler sollten Sie sich am unteren Rand der Kette befindet.
Ab .NET 5 WinHttpHandler ist nicht mehr in der System.Net.Http.dll-Assembly als Teil der .NET-Laufzeit enthalten. Weitere Informationen finden Sie unter WinHttpHandler, der aus .NET-Runtime entfernt wurde.
Nachfolgende Kopfzeilen
Ab Version 6.0.0 WinHttpHandler werden nachfolgende Header unterstützt, auch bekannt als Trailer (RFC 7230 - 4.1.2). Blockiertes Trailerteil).
- Auf .NET Standard 2.1 und .NET 8 oder höher werden Trailer hinzugefügt TrailingHeaders.
- In .NET Framework werden Trailer zu einer bekannten Eigenschaft in HttpRequestMessage.Properties dem Anforderungsobjekt hinzugefügt, das der Antwort entspricht (HttpResponseMessage.RequestMessage). Der Name der Eigenschaft lautet
__ResponseTrailers, der Typ des Eigenschaftswerts lautet HttpHeaders.
Die Trailerunterstützung wird über das WINHTTP_QUERY_FLAG_TRAILERSAbfrageinfo-Flag implementiert, das in Windows 11, Version 21H2 (10.0) eingeführt wurde. Build 22000). Auf Windows-Systemen, auf denen WINHTTP_QUERY_FLAG_TRAILERS keine Unterstützung besteht, werden Trailer ignoriert.
Konstruktoren
| Name | Beschreibung |
|---|---|
| WinHttpHandler() |
Initialisiert eine neue Instanz der WinHttpHandler-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AutomaticDecompression |
Dient zum Abrufen oder Festlegen des Typs der Dekomprimierungsmethode, die vom Handler für die automatische Dekomprimierung der HTTP-Inhaltsantwort verwendet wird. |
| AutomaticRedirection |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Handler http-Umleitungsantworten folgen soll. |
| CheckCertificateRevocationList |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Sperrliste von Zertifikaten während der SSL-Zertifikatüberprüfung überprüft werden soll. |
| ClientCertificateOption |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Zertifikat automatisch aus dem Zertifikatspeicher ausgewählt wird oder ob der Aufrufer ein bestimmtes Clientzertifikat übergeben darf. |
| ClientCertificates |
Ruft eine Auflistung von Clientauthentifizierungs-SSL-Zertifikaten ab, die vom Handler für die Clientauthentifizierung verwendet werden, wenn die ClientCertificateOption Eigenschaft auf |
| CookieContainer |
Dient zum Abrufen oder Festlegen des verwalteten Cookiecontainerobjekts. Diese Eigenschaft wird nur verwendet, wenn die CookieUsePolicy Eigenschaft auf UseSpecifiedCookieContainer festgelegt ist. Andernfalls löst die SendAsync(HttpRequestMessage, CancellationToken) Methode eine Ausnahme aus. |
| CookieUsePolicy |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, wie Cookies verwaltet und verwendet werden sollen. Entwickler können Cookies ignorieren, dem Handler erlauben, sie automatisch zu verwalten oder mithilfe eines CookieContainer Objekts manuell zu verarbeiten. |
| DefaultProxyCredentials |
Wenn der Standardproxy (Systemproxy) verwendet wird, ruft die Anmeldeinformationen ab, die zum Senden an den Standardproxyserver für die Authentifizierung verwendet werden. |
| EnableMultipleHttp2Connections |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob zusätzliche HTTP/2-Verbindungen mit demselben Server hergestellt werden können, wenn die maximale Anzahl gleichzeitiger Datenströme für alle vorhandenen Verbindungen erreicht wird. |
| MaxAutomaticRedirections |
Ruft die maximale Anzahl zulässiger HTTP-Umleitungen ab oder legt diese fest. |
| MaxConnectionsPerServer |
Ruft die maximale Anzahl von TCP-Verbindungen ab, die zu einem einzelnen Server zulässig sind, oder legt diese fest. |
| MaxResponseDrainSize |
Ruft die maximale Datenmenge ab, die aus Antworten in Bytes entwässert werden kann, oder legt diese fest. |
| MaxResponseHeadersLength |
Ruft die maximale Länge in Kilobyte (1024 Byte) der Antwortheader ab oder legt sie fest. |
| PreAuthenticate |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob der Handler einen Autorisierungsheader mit der Anforderung sendet. |
| Properties |
Ruft ein schreibbares Wörterbuch (d. h. eine Zuordnung) von benutzerdefinierten Eigenschaften für die HttpClient Anforderungen ab. Das Wörterbuch wird leer initialisiert; Sie können Schlüssel-Wert-Paare für Ihre benutzerdefinierten Handler und spezielle Verarbeitung einfügen und abfragen. |
| Proxy |
Ruft den benutzerdefinierten Proxy ab, wenn die WindowsProxyUsePolicy Eigenschaft auf die Verwendung eines benutzerdefinierten Proxys festgelegt ist, oder legt diesen fest. |
| ReceiveDataTimeout |
Dient zum Abrufen oder Festlegen des Timeouts für den Empfang des Datenteils einer Antwort vom Server. |
| ReceiveHeadersTimeout |
Dient zum Abrufen oder Festlegen des Timeouts für den Empfang der Header einer Antwort vom Server. |
| SendTimeout |
Dient zum Abrufen oder Festlegen des Timeouts zum Senden einer Anforderung. |
| ServerCertificateValidationCallback |
Dient zum Abrufen oder Festlegen einer Rückrufmethode zum Überprüfen des Serverzertifikats. Dieser Rückruf ist Teil des SSL-Handshake. |
| ServerCredentials |
Ruft die Anmeldeinformationen ab, die vom Client zum Authentifizieren beim Server verwendet werden sollen, oder legt diese fest. |
| SslProtocols |
Dient zum Abrufen oder Festlegen der Sammlung von TLS/SSL-Protokollen, die vom Client unterstützt werden. |
| TcpKeepAliveEnabled |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob TCP keep-alive aktiviert ist. |
| TcpKeepAliveInterval |
Ruft das TCP-Keep-Alive-Intervall ab oder legt es fest. |
| TcpKeepAliveTime |
Dient zum Abrufen oder Festlegen des TCP-Keep-Alive-Timeouts. |
| WindowsProxyUsePolicy |
Ruft die Proxyeinstellung ab oder legt sie fest. Diese Eigenschaft kann festgelegt werden, um den Proxy zu deaktivieren, einen benutzerdefinierten Proxy zu verwenden oder die Proxyeinstellungen von WinHTTP oder WinInet auf dem Computer zu verwenden. |
Methoden
| Name | Beschreibung |
|---|---|
| Dispose() |
Gibt die nicht verwalteten Ressourcen frei und entsorgt die verwalteten Ressourcen, die von der HttpMessageHandler. (Geerbt von HttpMessageHandler) |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den WinHttpHandlerverwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen ab. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Sendet eine HTTP-Anforderung als asynchronen Vorgang. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |