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ą 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
- 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 |
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 |
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) |