SocketsHttpHandler Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 nebofalse
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ží |
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 |
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) |