WinHttpHandler Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zpracovává zprávy na základě rozhraní WinHTTP systému Windows. Tato třída je určená pro použití v serverových prostředích.
public ref class WinHttpHandler : System::Net::Http::HttpMessageHandler
public class WinHttpHandler : System.Net.Http.HttpMessageHandler
type WinHttpHandler = class
inherit HttpMessageHandler
Public Class WinHttpHandler
Inherits HttpMessageHandler
- Dědičnost
Poznámky
WinHttpHandler je podobná jiným existujícím třídám, jako HttpClientHandlerje . WinHttpHandler poskytuje obslužnou rutinu HttpClient pod instancí a slouží k odesílání požadavků HTTP na server a příjem odpovědí serveru. Implementace WinHttpHandler podporuje verze HTTP až HTTP/2.
WinHttpHandler poskytuje vývojářům podrobnější kontrolu nad komunikací HTTP aplikace než třída HttpClientHandler . Vývojáři tak můžou implementovat pokročilejší scénáře HTTP nebo upravit výchozí nastavení systému (například nastavení proxy serveru, vypršení časových limitů a ověření certifikátu SSL serveru).
WinHttpHandler nemá být náhradou za HttpClientHandler. Místo toho se jedná o pokročilejší verzi, která je k dispozici pro scénáře, ve HttpClientHandler kterých není dostatek. WinHttpHandler je implementována jako tenký obálka v rozhraní WinHTTP systému Windows a je podporována pouze v systémech Windows.
Při použití řetězce více obslužných WinHttpHandler rutin by měl být v dolní části řetězce.
Počínaje rozhraním .NET 5 WinHttpHandler už není součástí sestaveníSystem.Net.Http.dll jako součást modulu runtime .NET. Další informace naleznete v tématu WinHttpHandler odebrané z modulu runtime .NET.
Koncová záhlaví
Počínaje verzí 6.0.0 WinHttpHandler podporuje koncové hlavičky, označované také jako přívěsy (RFC 7230 - 4.1.2. Část blokovaného přívěsu).
- Na platformě .NET Standard 2.1 a .NET 8 nebo novějších se přidají přívěsy .TrailingHeaders
- V rozhraní .NET Framework se přívěsy přidají do dobře známé vlastnosti objektu HttpRequestMessage.Properties požadavku odpovídající odpovědi (HttpResponseMessage.RequestMessage). Název vlastnosti je
__ResponseTrailers, typ hodnoty vlastnosti je HttpHeaders.
Podpora přívěsu je implementována prostřednictvím příznaku WINHTTP_QUERY_FLAG_TRAILERSinformace o dotazu , který byl zaveden ve Windows 11 verze 21H2 (10.0; Build 22000). V systémech Windows, kde WINHTTP_QUERY_FLAG_TRAILERS nejsou podporovány, jsou přívěsy ignorovány.
Konstruktory
| Name | Description |
|---|---|
| WinHttpHandler() |
Inicializuje novou instanci WinHttpHandler třídy. |
Vlastnosti
| Name | Description |
|---|---|
| AutomaticDecompression |
Získá nebo nastaví typ dekomprese metoda používaná obslužnou rutinou pro automatické dekompresi odpovědi http obsahu. |
| AutomaticRedirection |
Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina by měla následovat odpovědi HTTP přesměrování. |
| CheckCertificateRevocationList |
Získá nebo nastaví hodnotu, která určuje, zda má kontrolovat seznam odvolaných certifikátů během ověřování certifikátu SSL. |
| ClientCertificateOption |
Získá nebo nastaví hodnotu, která označuje, zda je certifikát automaticky vybrán z úložiště certifikátů nebo pokud volající může předat konkrétní klientský certifikát. |
| ClientCertificates |
Získá kolekci certifikátů SSL ověřování klienta, které se používají pro ověřování klienta obslužnou rutinou, pokud ClientCertificateOption je vlastnost nastavena na |
| CookieContainer |
Získá nebo nastaví spravovaný objekt kontejneru cookie. Tato vlastnost se používá pouze v případě, CookieUsePolicy že je vlastnost nastavena na UseSpecifiedCookieContainer. SendAsync(HttpRequestMessage, CancellationToken) V opačném případě metoda vyvolá výjimku. |
| CookieUsePolicy |
Získá nebo nastaví hodnotu, která označuje, jak se mají soubory cookie spravovat a používat. Vývojáři se můžou rozhodnout ignorovat soubory cookie, umožnit obslužné rutině automaticky je spravovat nebo je zpracovávat ručně pomocí objektu CookieContainer . |
| DefaultProxyCredentials |
Pokud se použije výchozí (systémový) proxy server, získá nebo nastaví přihlašovací údaje použité k odeslání na výchozí proxy server pro ověření. |
| EnableMultipleHttp2Connections |
Získá nebo nastaví hodnotu, která označuje, zda lze další připojení HTTP/2 navázat na stejný server, když je dosaženo maximálního počtu souběžných datových proudů u všech existujících připojení. |
| MaxAutomaticRedirections |
Získá nebo nastaví maximální počet povolených přesměrování HTTP. |
| MaxConnectionsPerServer |
Získá nebo nastaví maximální počet připojení TCP povolených na jeden server. |
| MaxResponseDrainSize |
Získá nebo nastaví maximální množství dat, které lze vyprázdnit z odpovědí v bajtech. |
| MaxResponseHeadersLength |
Získá nebo nastaví maximální délku v kilobajtech (1024 bajtů) hlaviček odpovědi. |
| PreAuthenticate |
Získá nebo nastaví hodnotu, která určuje, zda obslužná rutina odešle autorizační hlavičku s požadavkem. |
| Properties |
Získá zapisovatelný slovník (tj. mapa) vlastních vlastností pro HttpClient požadavky. Slovník je inicializován prázdný; Můžete vkládat a dotazovat páry klíč-hodnota pro vlastní obslužné rutiny a speciální zpracování. |
| Proxy |
Získá nebo nastaví vlastní proxy, pokud WindowsProxyUsePolicy je vlastnost nastavena na použití vlastní proxy. |
| ReceiveDataTimeout |
Získá nebo nastaví časový limit pro příjem datové části odpovědi ze serveru. |
| ReceiveHeadersTimeout |
Získá nebo nastaví časový limit pro příjem hlaviček odpovědi ze serveru. |
| SendTimeout |
Získá nebo nastaví časový limit pro odeslání požadavku. |
| ServerCertificateValidationCallback |
Získá nebo nastaví metodu zpětného volání k ověření certifikátu serveru. Toto zpětné volání je součástí metody handshake PROTOKOLU SSL. |
| ServerCredentials |
Získá nebo nastaví přihlašovací údaje, které má klient použít k ověření na serveru. |
| SslProtocols |
Získá nebo nastaví kolekci protokolů TLS/SSL podporovaných klientem. |
| TcpKeepAliveEnabled |
Získá nebo nastaví hodnotu označující, zda je povoleno udržování protokolu TCP. |
| TcpKeepAliveInterval |
Získá nebo nastaví interval udržování protokolu TCP. |
| TcpKeepAliveTime |
Získá nebo nastaví časový limit udržování protokolu TCP. |
| WindowsProxyUsePolicy |
Získá nebo nastaví nastavení proxy serveru. Tuto vlastnost lze nastavit tak, aby zakázala proxy server, používala vlastní proxy server nebo používala nastavení proxy serveru WinHTTP nebo WinInet na počítači. |
Metody
| Name | Description |
|---|---|
| Dispose() |
Uvolní nespravované prostředky a odstraní spravované prostředky používané nástrojem HttpMessageHandler. (Zděděno od HttpMessageHandler) |
| Dispose(Boolean) |
Uvolní nespravované prostředky používané WinHttpHandlernástrojem a volitelně uvolní spravované prostředky. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Odešle požadavek HTTP jako asynchronní operaci. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |