Udostępnij za pośrednictwem


SocketsHttpHandler Klasa

Definicja

Udostępnia domyślną procedurę obsługi komunikatów używaną w HttpClient programie .NET Core 2.1 lub nowszym.

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
Dziedziczenie
SocketsHttpHandler
Atrybuty

Uwagi

Począwszy od platformy .NET Core 2.1, klasa zapewnia implementację używaną przez klasy sieci HTTP wyższego poziomu, SocketsHttpHandler takie jak HttpClient. Korzystanie z SocketsHttpHandler ofert oferuje szereg zalet:

  • Znaczna poprawa wydajności w porównaniu z poprzednią implementacją.

  • Eliminacja zależności platformy, która upraszcza wdrażanie i obsługę. Na przykład libcurl nie jest już zależnością od platformy .NET Core dla systemów macOS i .NET Core dla systemu Linux.

  • Spójne zachowanie na wszystkich platformach .NET.

Jeśli ta zmiana jest niepożądane i korzystasz z platformy .NET Core 2.1-3.1, możesz skonfigurować aplikację tak, aby korzystała ze starszej System.Net.Http.HttpClientHandler klasy, zamiast tego na wiele sposobów:

  • Wywołając metodę AppContext.SetSwitch w następujący sposób:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • Definiując System.Net.Http.UseSocketsHttpHandler przełącznik w pliku konfiguracji .netcore.runtimeconfig.json :

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • Definiując zmienną środowiskową o nazwie DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER i ustawiając ją na wartość false lub 0.

Te opcje konfiguracji nie są dostępne od platformy .NET 5.

Konstruktory

SocketsHttpHandler()

Tworzy wystąpienie SocketsHttpHandler klasy.

Właściwości

ActivityHeadersPropagator

Pobiera lub ustawia propagację do użycia podczas propagacji rozproszonego śledzenia i kontekstu. Użyj null polecenia , aby wyłączyć propagację.

AllowAutoRedirect

Pobiera lub ustawia wartość wskazującą, czy program obsługi powinien postępować zgodnie z odpowiedziami przekierowania.

AutomaticDecompression

Pobiera lub ustawia typ metody dekompresji używanej przez program obsługi do automatycznego dekompresji odpowiedzi zawartości HTTP.

ConnectCallback

Pobiera lub ustawia niestandardowe wywołanie zwrotne używane do otwierania nowych połączeń.

ConnectTimeout

Pobiera lub ustawia przedział czasu oczekiwania przed upływem limitu czasu nawiązania połączenia.

CookieContainer

Pobiera lub ustawia zarządzany obiekt kontenera plików cookie.

Credentials

Pobiera lub ustawia informacje uwierzytelniania używane przez tę procedurę obsługi.

DefaultProxyCredentials

Gdy jest używany domyślny (systemowy) serwer proxy, pobiera lub ustawia poświadczenia używane do przesyłania do domyślnego serwera proxy na potrzeby uwierzytelniania.

EnableMultipleHttp2Connections

Pobiera lub ustawia wartość wskazującą, czy można ustanowić dodatkowe połączenia HTTP/2 z tym samym serwerem.

EnableMultipleHttp3Connections

Udostępnia domyślną procedurę obsługi komunikatów używaną w HttpClient programie .NET Core 2.1 lub nowszym.

Expect100ContinueTimeout

Pobiera lub ustawia wartość limitu czasu serwera HTTP 100 Kontynuuj odpowiedź.

InitialHttp2StreamWindowSize

Definiuje początkowy rozmiar okna odbierania strumienia HTTP2 dla wszystkich połączeń otwartych przez ten SocketsHttpHandlerelement .

IsSupported

Pobiera wartość wskazującą, czy program obsługi jest obsługiwany na bieżącej platformie.

KeepAlivePingDelay

Pobiera lub ustawia opóźnienie ping utrzymania aktywności.

KeepAlivePingPolicy

Pobiera lub ustawia zachowanie ping utrzymania aktywności.

KeepAlivePingTimeout

Pobiera lub ustawia limit czasu polecenia ping przy zachowaniu aktywności.

MaxAutomaticRedirections

Pobiera lub ustawia maksymalną liczbę dozwolonych przekierowań HTTP.

MaxConnectionsPerServer

Pobiera lub ustawia maksymalną liczbę równoczesnych połączeń TCP dozwolonych na jeden serwer.

MaxResponseDrainSize

Pobiera lub ustawia maksymalną ilość danych, które mogą być opróżniane z odpowiedzi w bajtach.

MaxResponseHeadersLength

Pobiera lub ustawia maksymalną długość w kilobajtach (1024 bajty) nagłówków odpowiedzi.

MeterFactory

Pobiera lub ustawia element IMeterFactory w celu utworzenia niestandardowego SocketsHttpHandlerMeter dla wystąpienia.

PlaintextStreamFilter

Pobiera lub ustawia niestandardowe wywołanie zwrotne, które zapewnia dostęp do strumienia protokołu HTTP w postaci zwykłego tekstu.

PooledConnectionIdleTimeout

Pobiera lub ustawia czas bezczynności połączenia w puli do ponownego użycia.

PooledConnectionLifetime

Pobiera lub ustawia, jak długo połączenie może znajdować się w puli, które ma być uznawane za wielokrotnego użytku.

PreAuthenticate

Pobiera lub ustawia wartość wskazującą, czy program obsługi wysyła nagłówek autoryzacji z żądaniem.

Properties

Pobiera zapisywalny słownik (czyli mapę) właściwości niestandardowych dla żądań HttpClient. Słownik jest inicjowany jako pusty; Pary klucz-wartość można wstawić i wykonać zapytania dla niestandardowych procedur obsługi i specjalnego przetwarzania.

Proxy

Pobiera lub ustawia niestandardowy serwer proxy, gdy UseProxy właściwość to true.

RequestHeaderEncodingSelector

Pobiera lub ustawia wywołanie zwrotne, które wybiera Encoding wartości nagłówka żądania w celu zakodowania.

ResponseDrainTimeout

Pobiera lub ustawia przedział czasu oczekiwania na opróżnianie danych z odpowiedzi.

ResponseHeaderEncodingSelector

Pobiera lub ustawia wywołanie zwrotne, które wybiera Encoding wartości nagłówka odpowiedzi, aby zdekodować.

SslOptions

Pobiera lub ustawia zestaw opcji używanych do uwierzytelniania protokołu TLS klienta.

UseCookies

Pobiera lub ustawia wartość wskazującą, czy program obsługi powinien używać plików cookie.

UseProxy

Pobiera lub ustawia wartość wskazującą, czy program obsługi powinien używać serwera proxy.

Metody

Dispose()

Zwalnia niezarządzane zasoby i usuwa zasoby zarządzane używane przez HttpMessageHandlerprogram .

(Odziedziczone po HttpMessageHandler)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez HttpMessageHandler program i opcjonalnie usuwa zasoby zarządzane.

(Odziedziczone po HttpMessageHandler)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Send(HttpRequestMessage, CancellationToken)

Po zastąpieniu w klasie pochodnej wysyła żądanie HTTP z określonym żądaniem i tokenem anulowania. W przeciwnym razie zgłasza wartość NotSupportedException.

(Odziedziczone po HttpMessageHandler)
SendAsync(HttpRequestMessage, CancellationToken)

Wyślij żądanie HTTP jako operację asynchroniczną.

(Odziedziczone po HttpMessageHandler)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy