Freigeben über


WinHttpHandler Klasse

Definition

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
WinHttpHandler

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).

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 Manual.

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)

Gilt für: