Udostępnij za pośrednictwem


SocketsHttpHandler Klasa

Definicja

Udostępnia domyślną procedurę obsługi komunikatów używaną przez HttpClient w 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 SocketsHttpHandler zapewnia implementację używaną przez klasy sieci HTTP wyższego poziomu, takie jak HttpClient. Korzystanie z SocketsHttpHandler oferuje szereg zalet:

  • Znacząca 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 używała starszej klasy System.Net.Http.HttpClientHandler zamiast tego na wiele sposobów:

  • Wywołują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 przełącznik System.Net.Http.UseSocketsHttpHandler 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 false lub 0.

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

Konstruktory

SocketsHttpHandler()

Tworzy wystąpienie klasy SocketsHttpHandler.

Właściwości

ActivityHeadersPropagator

Pobiera lub ustawia propagację do użycia podczas propagacji rozproszonego śledzenia i kontekstu. Użyj null, 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ązywania 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

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

Expect100ContinueTimeout

Pobiera lub ustawia wartość limitu czasu dla odpowiedzi HTTP 100 Kontynuuj serwera.

InitialHttp2StreamWindowSize

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

IsSupported

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

KeepAlivePingDelay

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

KeepAlivePingPolicy

Pobiera lub ustawia zachowanie utrzymywania aktywności ping.

KeepAlivePingTimeout

Pobiera lub ustawia limit czasu polecenia ping zachować przy życiu.

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 IMeterFactory w celu utworzenia niestandardowego Meter dla wystąpienia SocketsHttpHandler.

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, jak długo połączenie może być bezczynne w puli, które ma być traktowane jako wielokrotnego użytku.

PooledConnectionLifetime

Pobiera lub ustawia, jak długo połączenie może znajdować się w puli, która ma być traktowana jako 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; Można wstawić pary klucz-wartość i wykonywać zapytania dla niestandardowych procedur obsługi i specjalnego przetwarzania.

Proxy

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

RequestHeaderEncodingSelector

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

ResponseDrainTimeout

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

ResponseHeaderEncodingSelector

Pobiera lub ustawia wywołanie zwrotne, które wybiera Encoding w celu dekodowania wartości nagłówka odpowiedzi.

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 HttpMessageHandler.

(Odziedziczone po HttpMessageHandler)
Dispose(Boolean)

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

(Odziedziczone po HttpMessageHandler)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

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

(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 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