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 SocketsHttpHandler
Klasse die Implementierung bereit, die von höheren HTTP-Netzwerkklassen wie z HttpClient. B. verwendet wird. Die Verwendung von SocketsHttpHandler
Angeboten bietet eine Reihe von Vorteilen:
Eine beträchtliche Leistungssteigerung im Vergleich zur früheren Implementierung.
Die Beseitigung von Plattformabhängigkeiten, die die Bereitstellung und Wartung vereinfacht. Beispielsweise
libcurl
ist keine Abhängigkeit mehr von .NET Core für macOS und .NET Core für Linux.Einheitliches Verhalten auf allen .NET-Plattformen.
Wenn diese Änderung unerwünscht ist und Sie sich auf .NET Core 2.1-3.1 befinden, können Sie Ihre Anwendung so konfigurieren, dass sie stattdessen die ältere System.Net.Http.HttpClientHandler Klasse verwenden kann:
Durch Aufrufen der AppContext.SetSwitch Methode wie folgt:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
Durch Definieren des
System.Net.Http.UseSocketsHttpHandler
Schalters in der Konfigurationsdatei .netcore.runtimeconfig.json :"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
Durch Definieren einer Umgebungsvariable mit dem Namen
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
und Festlegen auf entwederfalse
oder 0.
Diese Konfigurationsoptionen sind ab .NET 5 nicht verfügbar.
Konstruktoren
SocketsHttpHandler() |
Erstellt eine Instanz einer SocketsHttpHandler-Klasse. |
Eigenschaften
ActivityHeadersPropagator |
Dient zum Abrufen oder Festlegen der DistributedContextPropagator Verwendung beim Verteilen der verteilten Ablaufverfolgung und des Kontexts.
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 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. |
Expect100ContinueTimeout |
Ruft den Timeoutwert für die Antwort des Servers zur HTTP 100-Fortsetzung ab oder legt ihn fest. |
InitialHttp2StreamWindowSize |
Definiert die anfängliche HTTP2-Datenstrom-Empfangensfenstergröße für alle Verbindungen, die von 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. |
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 schreibbares Wörterbuch (d. h. eine Karte) 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 UseProxy-Eigenschaft |
RequestHeaderEncodingSelector |
Dient zum Abrufen oder Festlegen eines Rückrufs, der die Encoding zu codierenden Anforderungsheaderwerte auswählt. |
ResponseDrainTimeout |
Ruft die Wartezeit für das Entnehmen von Daten aus Antworten ab oder legt sie fest. |
ResponseHeaderEncodingSelector |
Dient zum Abrufen oder Festlegen eines Rückrufs, der die Werte zum Decodieren von Encoding Antwortheadern auswählt. |
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) |