Sdílet prostřednictvím


SocketsHttpHandler Třída

Definice

Poskytuje výchozí obslužnou rutinu zpráv používanou HttpClient 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. libcurl Například už není závislost na .NET Core pro macOS a .NET Core pro Linux.

  • Konzistentní chování na všech platformách .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 několika způsoby:

  • Volá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 k dispozici.

Konstruktory

SocketsHttpHandler()

Vytvoří instanci SocketsHttpHandler třídy.

Vlastnosti

ActivityHeadersPropagator

Získá nebo nastaví šíření pro použití při šíření distribuované trasování a kontextu. Slouží null k zakázání šíření.

AllowAutoRedirect

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

AutomaticDecompression

Získá nebo nastaví typ metody dekomprese používané obslužnou rutinou pro automatickou 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 na čekání před vypršením časového limitu navázá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.

EnableMultipleHttp3Connections

Poskytuje výchozí obslužnou rutinu zpráv používanou HttpClient v .NET Core 2.1 a novějších verzí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 keep alive.

KeepAlivePingPolicy

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

KeepAlivePingTimeout

Získá nebo nastaví časový limit příkazu ping keep alive.

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 současný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í na IMeterFactory vytvoření vlastní Meter pro SocketsHttpHandler instanci.

PlaintextStreamFilter

Získá nebo nastaví vlastní zpětné volání, který poskytuje přístup k proudu protokolu HTTP ve formátu prostého textu.

PooledConnectionIdleTimeout

Získá nebo nastaví, jak dlouho může být připojení nečinné ve fondu, 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. mapování) vlastních vlastností pro požadavky HttpClient. Slovník je inicializován prázdný; Můžete vkládat a dotazovat páry klíč-hodnota pro vlastní obslužné rutiny a speciální zpracování.

Proxy

Získá nebo nastaví vlastní proxy, pokud 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ček 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 má obslužná rutina 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é HttpMessageHandlernástrojem .

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

Uvolní nespravované prostředky používané HttpMessageHandler nástrojem a 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()

Získá aktuální Type instanci.

(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