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 udostępnia implementację używaną przez klasy sieci HTTP wyższego poziomu, SocketsHttpHandler takie jak HttpClient. Korzystanie z SocketsHttpHandler ofert ma wiele zalet:

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

  • Eliminacja zależności platformy, co upraszcza wdrażanie i obsługę. Na przykład libcurl nie jest już zależność 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żądana 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ł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 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 polecenia 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 automatycznej 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, gdy maksymalna liczba współbieżnych strumieni zostanie osiągnięta dla wszystkich istniejących połączeń.

Expect100ContinueTimeout

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

InitialHttp2StreamWindowSize

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

IsSupported

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

KeepAlivePingDelay

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

KeepAlivePingPolicy

Pobiera lub ustawia zachowanie utrzymywania aktywności ping.

KeepAlivePingTimeout

Pobiera lub ustawia limit czasu polecenia ping keep alive.

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 bajtów) 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, 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ó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; 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 UseProxy właściwość ma truewartość .

RequestHeaderEncodingSelector

Pobiera lub ustawia wywołanie zwrotne, które wybiera Encoding element , aby zakodować 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 wartości nagłówka Encoding odpowiedzi do dekodowania.

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 zarządzane zasoby używane przez program HttpMessageHandler.

(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 wartość bieżącego wystąpienia.

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