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 wie HttpClientHandler. WinHttpHandlerstellt einen Handler unterhalb einer HttpClient instance 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 wird 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 |
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) |