System.Net.Http Przestrzeń nazw
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 interfejs programowania dla nowoczesnych aplikacji HTTP.
Klasy
| Nazwa | Opis |
|---|---|
| ByteArrayContent |
Udostępnia zawartość HTTP na podstawie tablicy bajtów. |
| DelegatingHandler |
Typ procedur obsługi HTTP, które delegować przetwarzanie komunikatów odpowiedzi HTTP do innej procedury obsługi, nazywanej wewnętrzną procedurą obsługi. |
| FormUrlEncodedContent |
Kontener dla krotki nazwy/wartości zakodowane przy użyciu typu MIME application/x-www-form-urlencoded. |
| HttpClient |
Udostępnia klasę do wysyłania żądań HTTP i odbierania odpowiedzi HTTP z zasobu zidentyfikowanego przez identyfikator URI. |
| HttpClientFactoryExtensions |
Metody rozszerzeń dla elementu IHttpClientFactory. |
| HttpClientHandler |
Domyślna procedura obsługi komunikatów używana w HttpClient programach .NET Framework i .NET Core 2.0 i starszych. |
| HttpContent |
Klasa bazowa reprezentująca treść jednostki HTTP i nagłówki zawartości. |
| HttpDiagnosticsHttpRequestMessageExtensions |
Rozszerzenia dla narzędzi telemetrycznych. |
| HttpIOException |
Wyjątek zgłaszany w przypadku wystąpienia błędu podczas odczytywania odpowiedzi. |
| HttpMessageHandler |
Typ podstawowy obsługi komunikatów HTTP. |
| HttpMessageHandlerFactoryExtensions |
Metody rozszerzeń dla elementu IHttpMessageHandlerFactory. |
| HttpMessageInvoker |
Klasa specjalna, która umożliwia aplikacjom wywoływanie metody w łańcuchu SendAsync(HttpRequestMessage, CancellationToken) obsługi HTTP. |
| HttpMethod |
Klasa pomocnika do pobierania i porównywania standardowych metod HTTP oraz tworzenia nowych metod HTTP. |
| HttpProtocolException |
Wyjątek zgłaszany, gdy wystąpi błąd protokołu HTTP/2 lub HTTP/3. |
| HttpRequestException |
Klasa bazowa dla wyjątków zgłaszanych przez HttpClient klasy i HttpMessageHandler . |
| HttpRequestMessage |
Reprezentuje komunikat żądania HTTP. |
| HttpRequestOptions |
Reprezentuje kolekcję opcji żądania HTTP. |
| HttpResilienceHttpRequestMessageExtensions |
Rozszerzenia odporności dla programu HttpRequestMessage. |
| HttpResponseMessage |
Reprezentuje komunikat odpowiedzi HTTP, w tym kod stanu i dane. |
| MessageProcessingHandler |
Podstawowy typ procedur obsługi, które wykonują tylko małe przetwarzanie komunikatów żądań i/lub odpowiedzi. |
| MultipartContent |
Udostępnia kolekcję HttpContent obiektów, które są serializowane przy użyciu specyfikacji typu zawartości wieloczęściowej/* . |
| MultipartFormDataContent |
Udostępnia kontener dla zawartości zakodowanej przy użyciu wieloczęściowego/formularza-danych typu MIME. |
| ReadOnlyMemoryContent |
Udostępnia zawartość HTTP na podstawie elementu ReadOnlyMemory<T>. |
| RtcRequestFactory |
Udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP. |
| SocketsHttpConnectionContext |
Reprezentuje kontekst przekazany do ConnectCallback wystąpienia SocketsHttpHandler . . |
| SocketsHttpHandler |
Udostępnia domyślną procedurę obsługi komunikatów używaną w HttpClient programie .NET Core 2.1 lub nowszym. |
| SocketsHttpPlaintextStreamFilterContext |
Reprezentuje kontekst przekazany do elementu PlaintextStreamFilter dla wystąpienia SocketsHttpHandler. |
| StreamContent |
Udostępnia zawartość HTTP na podstawie strumienia. |
| StringContent |
Udostępnia zawartość HTTP na podstawie ciągu. |
| WebRequestHandler |
Udostępnia funkcje specyficzne dla komputerów, które nie są dostępne dla aplikacji ze Sklepu Windows lub innych środowisk. |
| WinHttpHandler |
Obsługuje komunikaty oparte na interfejsie WinHTTP systemu Windows. Ta klasa jest przeznaczona do użycia w środowiskach serwera. |
Struktury
| Nazwa | Opis |
|---|---|
| HttpRequestOptionsKey<TValue> |
Reprezentuje klucz w kolekcji opcji dla żądania HTTP. |
Interfejsy
| Nazwa | Opis |
|---|---|
| IHttpClientFactory |
Abstrakcja fabryki dla składnika, który może tworzyć HttpClient wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej. |
| IHttpMessageHandlerFactory |
Abstrakcja fabryki dla składnika, który może tworzyć HttpMessageHandler wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej. |
Wyliczenia
| Nazwa | Opis |
|---|---|
| ClientCertificateOption |
Określa sposób zapewniania certyfikatów klienta. |
| CookieUsePolicy |
To wyliczenie umożliwia sterowanie plikami cookie HTTP podczas komunikacji z serwerem. |
| HttpCompletionOption |
Wskazuje, czy HttpClient operacje powinny zostać uznane za ukończone natychmiast po udostępnieniu odpowiedzi lub po przeczytaniu całego komunikatu odpowiedzi, w tym zawartości. |
| HttpKeepAlivePingPolicy |
Określa, kiedy ramka http/2 ping jest wysyłana na bezczynne połączenie. |
| HttpRequestError |
Definiuje kategorie błędów reprezentujące przyczynę HttpRequestException lub HttpIOException. |
| HttpVersionPolicy |
Określa zachowania dotyczące wybierania i negocjowania wersji PROTOKOŁU HTTP dla żądania. |
| WindowsProxyUsePolicy |
Ta wyliczenie zawiera dostępne opcje ustawień serwera proxy używanych przez HttpClient podczas uruchamiania w systemie Windows. |
Delegaci
| Nazwa | Opis |
|---|---|
| HeaderEncodingSelector<TContext> |
Reprezentuje metodę określającą kodowanie do użycia podczas interpretowania wartości nagłówka. |
Uwagi
Przestrzeń nazw została zaprojektowana System.Net.Http w celu zapewnienia następujących składników:
- Składniki klienta HTTP, które umożliwiają użytkownikom korzystanie z nowoczesnych usług internetowych za pośrednictwem protokołu HTTP.
- Składniki HTTP, które mogą być używane zarówno przez klientów, jak i serwery (na przykład nagłówki HTTP i komunikaty). Zapewnia to spójny model programowania zarówno po stronie klienta, jak i serwera dla nowoczesnych usług internetowych za pośrednictwem protokołu HTTP.
System.Net.Http Przestrzeń nazw i powiązana System.Net.Http.Headers przestrzeń nazw zapewniają następujący zestaw składników:
- HttpClient - Klasa podstawowa używana do wysyłania i odbierania żądań za pośrednictwem protokołu HTTP.
- HttpRequestMessage i HttpResponseMessage — komunikaty HTTP zdefiniowane w dokumencie RFC 2616 przez IETF.
- HttpHeaders - Nagłówki HTTP zdefiniowane w dokumencie RFC 2616 przez IETF.
- HttpClientHandler - Programy obsługi HTTP odpowiedzialne za tworzenie komunikatów odpowiedzi HTTP.
Istnieją różne programy obsługi komunikatów HTTP, których można użyć:
- DelegatingHandler - Klasa używana do podłączania programu obsługi do łańcucha obsługi.
- HttpMessageHandler — Prosta klasa, która pochodzi z tej klasy, obsługuje najbardziej typowe wymagania dla większości aplikacji.
- HttpClientHandler - Klasa, która działa w dolnej części łańcucha obsługi, która faktycznie obsługuje operacje transportu HTTP.
Zawartość komunikatu HTTP odpowiada treści jednostki zdefiniowanej w dokumencie RFC 2616.
Następujące klasy mogą służyć do obsługi zawartości HTTP:
- ByteArrayContent - Zawartość HTTP oparta na tablicy bajtów.
- FormUrlEncodedContent - Zawartość HTTP krotki nazwa/wartość zakodowana przy użyciu typu MIME application/x-www-form-urlencoded.
- MultipartContent - Zawartość HTTP, która jest serializowana przy użyciu specyfikacji typu zawartości multipart/*.
- MultipartFormDataContent - Zawartość HTTP zakodowana przy użyciu typu MIME danych wieloczęściowych/formularzy.
- StreamContent - Zawartość HTTP oparta na strumieniu.
- StringContent - Zawartość HTTP oparta na ciągu.
Jeśli aplikacja używa System.Net.Http przestrzeni nazw i System.Net.Http.Headers i zamierza pobrać duże ilości danych (50 megabajtów lub więcej), należy przesyłać strumieniowo te pliki do pobrania i nie używać buforowania domyślnego. Jeśli używasz buforowania domyślnego, użycie pamięci klienta będzie bardzo duże, co może spowodować znaczne zmniejszenie wydajności.