SocketsHttpHandler Třída

Definice

Poskytuje výchozí obslužnou rutinu zpráv, kterou HttpClient používá v .NET Core 2.1 a novějších verzích.

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
Dědičnost
SocketsHttpHandler
Atributy

Poznámky

Počínaje .NET Core 2.1 třída poskytuje implementaci používanou síťovými třídami HTTP vyšší úrovně, SocketsHttpHandler jako HttpClientje . Použití SocketsHttpHandler nabízí řadu výhod:

  • Výrazné zlepšení výkonu ve srovnání s předchozí implementací.

  • Odstranění závislostí platforem, což zjednodušuje nasazení a údržbu. Například libcurl už není závislost na .NET Core pro macOS a .NET Core pro Linux.

  • Konzistentní chování napříč všemi platformami .NET

Pokud je tato změna nežádoucí a používáte .NET Core 2.1-3.1, můžete aplikaci nakonfigurovat tak, aby místo toho používala starší System.Net.Http.HttpClientHandler třídu, a to několika způsoby:

  • Zavoláním AppContext.SetSwitch metody následujícím způsobem:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • Definováním System.Net.Http.UseSocketsHttpHandler přepínače v konfiguračním souboru .netcore.runtimeconfig.json :

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • Definováním proměnné prostředí s názvem DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER a jejím nastavením na hodnotu nebo false 0.

Tyto možnosti konfigurace nejsou od verze .NET 5 dostupné.

Konstruktory

SocketsHttpHandler()

Vytvoří instanci SocketsHttpHandler třídy.

Vlastnosti

ActivityHeadersPropagator

Získá nebo nastaví šíření použít při šíření distribuované trasování a kontextu. Pomocí null zakážete šíření.

AllowAutoRedirect

Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina má následovat odpovědi přesměrování.

AutomaticDecompression

Získá nebo nastaví typ metody dekomprese používané obslužnou rutinou pro automatické dekompresi http obsah odpovědi.

ConnectCallback

Získá nebo nastaví vlastní zpětné volání používané k otevření nových připojení.

ConnectTimeout

Získá nebo nastaví časový rozsah čekání před vypršením časového limitu navazování připojení.

CookieContainer

Získá nebo nastaví objekt kontejneru spravovaného souboru cookie.

Credentials

Získá nebo nastaví ověřovací informace používané touto obslužnou rutinou.

DefaultProxyCredentials

Při použití výchozího (systémového) proxy serveru získá nebo nastaví přihlašovací údaje použité k odeslání na výchozí proxy server k ověření.

EnableMultipleHttp2Connections

Získá nebo nastaví hodnotu, která označuje, zda lze vytvořit další připojení HTTP/2 ke stejnému serveru při dosažení maximálního počtu souběžných datových proudů na všech existujících připojeních.

Expect100ContinueTimeout

Získá nebo nastaví hodnotu časového limitu pro server HTTP 100 Continue odpověď.

InitialHttp2StreamWindowSize

Definuje počáteční velikost okna příjmu datového proudu HTTP2 pro všechna připojení otevřená tímto SocketsHttpHandlerobjektem .

IsSupported

Získá hodnotu, která označuje, zda je obslužná rutina podporována na aktuální platformě.

KeepAlivePingDelay

Získá nebo nastaví zpoždění příkazu ping pro zachování připojení.

KeepAlivePingPolicy

Získá nebo nastaví chování příkazu ping keep alive.

KeepAlivePingTimeout

Získá nebo nastaví časový limit příkazu Ping pro zachování připojení.

MaxAutomaticRedirections

Získá nebo nastaví maximální počet povolených přesměrování HTTP.

MaxConnectionsPerServer

Získá nebo nastaví maximální počet souběžných připojení TCP povolených k jednomu serveru.

MaxResponseDrainSize

Získá nebo nastaví maximální množství dat, které lze vyprázdnit z odpovědí v bajtech.

MaxResponseHeadersLength

Získá nebo nastaví maximální délku hlaviček odpovědi v kilobajtech (1024 bajtů).

MeterFactory

Získá nebo nastaví IMeterFactory k vytvoření vlastní Meter pro SocketsHttpHandler instanci.

PlaintextStreamFilter

Získá nebo nastaví vlastní zpětné volání, které poskytuje přístup k prostému textu protokolu HTTP stream.

PooledConnectionIdleTimeout

Získá nebo nastaví, jak dlouho může být připojení ve fondu nečinné, aby bylo považováno za opakovaně použitelné.

PooledConnectionLifetime

Získá nebo nastaví, jak dlouho může být připojení ve fondu považováno za opakovaně použitelné.

PreAuthenticate

Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina odešle autorizační hlavičku s požadavkem.

Properties

Získá zapisovatelný slovník (tj. mapu) vlastních vlastností pro požadavky HttpClient. Slovník je inicializován prázdný; Můžete vložit a dotazovat páry klíč-hodnota pro vlastní obslužné rutiny a speciální zpracování.

Proxy

Získá nebo nastaví vlastní proxy server, když UseProxy je truevlastnost .

RequestHeaderEncodingSelector

Získá nebo nastaví zpětné volání, které vybere kódovat hodnoty hlavičky Encoding požadavku.

ResponseDrainTimeout

Získá nebo nastaví časový rozsah čekání na vyprázdnění dat z odpovědí.

ResponseHeaderEncodingSelector

Získá nebo nastaví zpětné volání, které vybere Encoding k dekódování hodnot hlavičky odpovědi.

SslOptions

Získá nebo nastaví sadu možností používaných pro ověřování TLS klienta.

UseCookies

Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina má používat soubory cookie.

UseProxy

Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina má použít proxy.

Metody

Dispose()

Uvolní nespravované prostředky a odstraní spravované prostředky používané nástrojem HttpMessageHandler.

(Zděděno od HttpMessageHandler)
Dispose(Boolean)

Uvolní nespravované prostředky používané a HttpMessageHandler volitelně odstraní spravované prostředky.

(Zděděno od HttpMessageHandler)
Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Send(HttpRequestMessage, CancellationToken)

Při přepsání v odvozené třídě odešle požadavek HTTP se zadaným tokenem požadavku a zrušení. V opačném případě vyvolá NotSupportedException.

(Zděděno od HttpMessageHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Odešle požadavek HTTP jako asynchronní operaci.

(Zděděno od HttpMessageHandler)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro