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 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 |
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 |
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla