SocketsHttpHandler Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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ą nafalse
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 |
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 |
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) |