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 wie HttpClientHandler. WinHttpHandler stellt einen Handler unterhalb 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.

WinHttpHandlerist für die Verwendung hauptsächlich in Serverumgebungen von ASP.NET Core und anderen .NET-Anwendungen konzipiert, die mit HTTP-Servern kommunizieren. WinHttpHandler bietet Entwicklern außerdem eine präzisere Kontrolle über die HTTP-Kommunikation der Anwendung als die HttpClientHandler -Klasse. Dadurch können Entwickler komplexere HTTP-Szenarien implementieren oder Systemstandardeinstellungen ändern (z. B. Proxyeinstellungen, Timeouts und Ssl-Zertifikatvalidierung des Servers).

WinHttpHandler ist nicht als Ersatz für HttpClientHandlervorgesehen. Stattdessen handelt es sich um eine erweiterte 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 nur auf Windows-Systemen unterstützt.

Wenn Sie eine Kette von mehreren Handlern verwenden, WinHttpHandler sollte sich am unteren Rand der Kette sein.

Diese Klasse ist auch für die Verwendung in Desktop-Apps verfügbar, indem Sie diese als NuGet-Paket installieren. Weitere Informationen finden Sie unter NuGet-Paket System.Net.Http.WinHttpHandler.

Ab .NET 5 WinHttpHandler ist nicht mehr in der System.Net.Http.dll-Assembly als Teil der .NET-Runtime enthalten. Weitere Informationen finden Sie unter WinHttpHandler aus der .NET-Runtime entfernt.

Konstruktoren

WinHttpHandler()

Initialisiert eine neue Instanz der WinHttpHandler-Klasse.

Eigenschaften

AutomaticDecompression

Ruft den Typ der Dekomprimierungsmethode ab, die vom Handler für die automatische Dekomprimierung von Antworten mit HTTP-Inhalt verwendet wird, oder legt den Typ fest.

AutomaticRedirection

Ruft einen Wert ab, der angibt, ob der Handler HTTP-Umleitungsantworten folgen soll, oder legt diesen fest.

CheckCertificateRevocationList

Ruft einen Wert ab, der angibt, ob die Sperrliste für Zertifikate während der SSL-Zertifikatüberprüfung überprüft werden soll, oder legt diesen fest.

ClientCertificateOption

Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob das Zertifikat automatisch aus dem Zertifikatspeicher ausgewählt wird oder ob der Aufrufer ein bestimmtes Clientzertifikat übergeben darf.

ClientCertificates

Ruft eine Sammlung der SSL-Zertifikate für die Clientauthentifizierung ab, die vom Handler verwendet werden, wenn die Eigenschaft ClientCertificateOption auf Manual festgelegt ist.

CookieContainer

Ruft das Containerobjekt für verwaltete Cookies ab oder legt dieses fest. 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

Ruft einen Wert ab, der angibt, wie Cookies verwaltet und verwendet werden sollen, oder legt diesen fest. Entwickler können Cookies manuell mithilfe eines CookieContainer-Objekts verwalten oder ignorieren und dem Handler genehmigen, diese automatisch zu verwalten.

DefaultProxyCredentials

Ruft die Anmeldeinformationen zum Authentifizieren des Benutzers bei einem Authentifizierungsproxy ab oder legt diese fest.

EnableMultipleHttp2Connections

Ruft einen Wert ab oder legt diesen fest, der angibt, ob zusätzliche HTTP/2-Verbindungen mit demselben Server hergestellt werden können, wenn die maximale Anzahl gleichzeitiger Streams in allen vorhandenen Verbindungen erreicht wird.

MaxAutomaticRedirections

Ruft die maximale Anzahl von zulässigen HTTP-Umleitungen ab oder legt diese fest.

MaxConnectionsPerServer

Ruft die maximale Anzahl von TCP-Verbindungen ab, die für einen einzelnen Server zulässig sind, oder legt diese fest.

MaxResponseDrainSize

Ruft die maximale Datenmenge aus Antworten in Byte ab oder legt diese fest.

MaxResponseHeadersLength

Ruft die maximale Größe des Headerteils in Byte aus der Serverantwort ab oder legt diese fest.

PreAuthenticate

Ruft einen Wert ab, der angibt, ob vom Handler mit der Anforderung ein Autorisierungsheader gesendet wird, oder legt diesen fest.

Properties

Ruft ein beschreibares Wörterbuch (d.h. eine Zuordnung) von benutzerdefinierten Eigenschaften für die HttpClient-Anforderungen ab. Das Wörterbuch ist zunächst leer. Sie können Schlüssel-Wert-Paare für benutzerdefinierte Handler und die spezielle Verarbeitung einfügen und abfragen.

Proxy

Ruft den benutzerdefinierten Proxy ab, wenn die WindowsProxyUsePolicy-Eigenschaft darauf festgelegt ist, einen benutzerdefinierten Proxy zu verwenden, oder legt diesen fest.

ReceiveDataTimeout

Ruft das Timeout für das Erhalten des Datenteils einer Antwort vom Server ab oder legt dieses fest.

ReceiveHeadersTimeout

Ruft das Timeout für das Erhalten des Headers einer Antwort vom Server ab oder legt dieses fest.

SendTimeout

Ruft das Timeout für das Senden einer Anforderung ab oder legt dieses fest.

ServerCertificateValidationCallback

Ruft eine Rückrufmethode zur Überprüfung des Serverzertifikats ab oder legt diese fest. Dieser Rückruf ist Teil des SSL-Handshakes.

ServerCredentials

Ruft die Anmeldeinformationen ab, die vom Client zur Authentifizierung beim Server verwendet werden, oder legt diese fest.

SslProtocols

Ruft die Auflistung von TLS-/SSL-Protokollen ab, die vom Client unterstützt werden, oder legt diese fest.

TcpKeepAliveEnabled

Ruft einen Wert ab, der angibt, ob TCP Keep-Alive aktiviert ist, oder legt einen Wert fest.

TcpKeepAliveInterval

Ruft das TCP-Keep-Alive-Intervall ab oder legt es fest.

TcpKeepAliveTime

Ruft das TCP-Keep-Alive-Timeout ab oder legt es fest.

WindowsProxyUsePolicy

Ruft die Proxyeinstellung ab oder legt diese fest. Diese Eigenschaft kann darauf festgelegt werden, den Proxy zu deaktivieren, einen benutzerdefinierten Proxy zu verwenden oder die Proxyeinstellungen von WinHTTP oder WinInet auf dem Computer zu verwenden.

Methoden

Dispose()

Gibt die vom HttpMessageHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft die verwalteten Ressourcen.

(Geerbt von HttpMessageHandler)
Dispose(Boolean)

Gibt die vom WinHttpHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft optional auch die verwalteten Ressourcen.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Send(HttpRequestMessage, CancellationToken)

Sendet eine HTTP-Anforderung mit der angegebenen Anforderung und einem Abbruchtoken, wenn eine Überschreibung in einer abgeleiteten Klasse erfolgt. Löst andernfalls eine NotSupportedException aus.

(Geerbt von HttpMessageHandler)
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: