SocketsHttpHandler 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.
Stellt den Standardnachrichtenhandler bereit, der von HttpClient in .NET Core 2.1 und höher verwendet wird.
public ref class SocketsHttpHandler sealed : System::Net::Http::HttpMessageHandler
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type SocketsHttpHandler = class
inherit HttpMessageHandler
type SocketsHttpHandler = class
inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
- Vererbung
- Attribute
Hinweise
Ab .NET Core 2.1 stellt die -Klasse die SocketsHttpHandler
Implementierung bereit, die von höheren HTTP-Netzwerkklassen wie HttpClientverwendet wird. Die Nutzung bietet SocketsHttpHandler
eine Reihe von Vorteilen:
Eine beträchtliche Leistungssteigerung im Vergleich zur früheren Implementierung.
Die Beseitigung von Plattformabhängigkeiten, die Bereitstellung und Wartung vereinfacht. Beispielsweise
libcurl
ist keine Abhängigkeit mehr von .NET Core für macOS und .NET Core für Linux.Konsistentes Verhalten auf allen .NET-Plattformen.
Wenn diese Änderung unerwünscht ist und Sie .NET Core 2.1-3.1 verwenden, können Sie Ihre Anwendung auf verschiedene Arten so konfigurieren, dass sie stattdessen die ältere System.Net.Http.HttpClientHandler Klasse verwendet:
Indem Sie die AppContext.SetSwitch -Methode wie folgt aufrufen:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
Durch Definieren des Schalters
System.Net.Http.UseSocketsHttpHandler
in der .netcore.runtimeconfig.json Konfigurationsdatei:"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
Indem Sie eine Umgebungsvariable mit dem Namen definieren
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
und auf entwederfalse
oder 0 festlegen.
Diese Konfigurationsoptionen sind ab .NET 5 nicht verfügbar.
Konstruktoren
SocketsHttpHandler() |
Erstellt eine Instanz einer SocketsHttpHandler-Klasse. |
Eigenschaften
ActivityHeadersPropagator |
Ruft den Verteiler ab, der beim Verteilen der verteilten Ablaufverfolgung und des Kontexts verwendet werden soll, oder legt diesen fest.
Verwenden Sie |
AllowAutoRedirect |
Ruft einen Wert ab, der angibt, ob der Handler Umleitungsantworten folgen soll, oder legt diesen Wert fest. |
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. |
ConnectCallback |
Ruft einen benutzerdefinierten Rückruf ab oder legt ihn fest, der zum Öffnen neuer Verbindungen verwendet wird. |
ConnectTimeout |
Ruft die Zeitspanne ab, nach der das Zeitlimit der Verbindungsherstellung überschritten ist, oder legt diese fest. |
CookieContainer |
Ruft das Containerobjekt für verwaltete Cookies ab oder legt dieses fest. |
Credentials |
Ruft von diesem Handler verwendete Authentifizierungsinformationen ab oder legt diese fest. |
DefaultProxyCredentials |
Wenn der Standardproxy (Systemproxy) verwendet wird, werden die Anmeldeinformationen abgerufen oder festgelegt, die verwendet werden, um den Standardproxyserver für die Authentifizierung zu übermitteln. |
EnableMultipleHttp2Connections |
Ruft einen Wert ab, der angibt, ob zusätzliche HTTP/2-Verbindungen mit demselben Server hergestellt werden können, oder legt diesen fest. |
EnableMultipleHttp3Connections |
Stellt den Standardnachrichtenhandler bereit, der von HttpClient in .NET Core 2.1 und höher verwendet wird. |
Expect100ContinueTimeout |
Ruft den Timeoutwert für die Antwort des Servers zur HTTP 100-Fortsetzung ab oder legt ihn fest. |
InitialHttp2StreamWindowSize |
Definiert die anfängliche Größe des HTTP2-Datenstrom-Empfangsfensters für alle Verbindungen, die mit diesem SocketsHttpHandlergeöffnet werden. |
IsSupported |
Ruft einen Wert ab, der angibt, ob der Handler auf der aktuellen Plattform unterstützt wird. |
KeepAlivePingDelay |
Ruft die Keep-Alive-Pingverzögerung ab oder legt sie fest. |
KeepAlivePingPolicy |
Ruft das Keep-Alive-Pingverhalten ab oder legt es fest. |
KeepAlivePingTimeout |
Ruft das Keep-Alive-Pingtimeout ab oder legt es fest. |
MaxAutomaticRedirections |
Ruft die maximale Anzahl von zulässigen HTTP-Umleitungen ab oder legt diese fest. |
MaxConnectionsPerServer |
Ruft die maximale Anzahl gleichzeitiger 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 Länge des Antwortheaders in Kilobyte (1024 Byte) ab oder legt diese fest. |
MeterFactory |
Ruft den IMeterFactory ab, um einen benutzerdefinierten Meter für die SocketsHttpHandler instance zu erstellen, oder legt diesen fest. |
PlaintextStreamFilter |
Ruft einen benutzerdefinierten Rückruf ab, der Zugriff auf den HTTP-Protokolldatenstrom im Klartext bietet, oder legt diesen fest. |
PooledConnectionIdleTimeout |
Ruft ab oder legt fest, wie lange sich eine Verbindung im Leerlauf im Pool befinden kann, damit sie als wiederverwendbar eingestuft wird. |
PooledConnectionLifetime |
Ruft ab oder legt fest, wie lange sich eine Verbindung im Pool befinden kann, damit sie als wiederverwendbar eingestuft wird. |
PreAuthenticate |
Ruft einen Wert ab, der angibt, ob vom Handler mit der Anforderung ein Autorisierungsheader gesendet wird, oder legt diesen fest. |
Properties |
Ruft ein beschreibbares Wörterbuch (d. h. eine Zuordnung) mit 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 UseProxy-Eigenschaft |
RequestHeaderEncodingSelector |
Ruft einen Rückruf ab, der die zum Codieren von Anforderungsheaderwerten auswählt, oder legt diesen Encoding fest. |
ResponseDrainTimeout |
Ruft die Wartezeit für das Entnehmen von Daten aus Antworten ab oder legt sie fest. |
ResponseHeaderEncodingSelector |
Ruft einen Rückruf ab, der die zum Decodieren von Encoding Antwortheaderwerten auswählt, oder legt diesen fest. |
SslOptions |
Ruft die Optionen ab, die für die TLS-Clientauthentifizierung verwendet werden, oder legt diese fest. |
UseCookies |
Ruft einen Wert ab, der angibt, ob die Handler Cookies verwenden sollen, oder legt ihn fest. |
UseProxy |
Ruft einen Wert ab, der angibt, ob der Handler einen Proxy verwenden sollte, oder legt ihn fest. |
Methoden
Dispose() |
Gibt die vom HttpMessageHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft die verwalteten Ressourcen. (Geerbt von HttpMessageHandler) |
Dispose(Boolean) |
Gibt die vom HttpMessageHandler verwendeten, nicht verwalteten Ressourcen frei und verwirft optional auch die verwalteten Ressourcen. (Geerbt von HttpMessageHandler) |
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) |
Senden Sie eine HTTP-Anforderung als asynchronen Vorgang. (Geerbt von HttpMessageHandler) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |