Partager via


WinHttpHandler Classe

Définition

Gère les messages basés sur l’interface WinHTTP de Windows. Cette classe est destinée à être utilisée dans les environnements serveur.

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
Héritage
WinHttpHandler

Remarques

WinHttpHandler est similaire à d’autres classes existantes telles que HttpClientHandler. WinHttpHandler fournit un gestionnaire sous une HttpClient instance et est utilisé pour envoyer des requêtes HTTP à un serveur et recevoir des réponses au serveur. L’implémentation WinHttpHandler prend en charge les versions HTTP jusqu’à HTTP/2.

WinHttpHandler fournit aux développeurs un contrôle plus précis sur la communication HTTP de l’application que la HttpClientHandler classe. Cela permet aux développeurs d’implémenter des scénarios HTTP plus avancés ou de modifier les paramètres système par défaut (par exemple, les paramètres proxy, les délais d’expiration et la validation de certificat SSL du serveur).

WinHttpHandler n’est pas destiné à être un remplacement pour HttpClientHandler. Au lieu de cela, il s’agit d’une version plus avancée fournie pour les scénarios qui HttpClientHandler sont insuffisants. WinHttpHandler est implémenté en tant que wrapper mince sur l’interface WinHTTP de Windows et n’est pris en charge que sur les systèmes Windows.

Lors de l’utilisation d’une chaîne de plusieurs gestionnaires, WinHttpHandler doit être au bas de la chaîne.

À compter de .NET 5, WinHttpHandler n’est plus inclus dans l’assembly System.Net.Http.dll dans le cadre du runtime .NET. Pour plus d’informations, consultez WinHttpHandler supprimé du runtime .NET.

En-têtes de fin

À compter de la version 6.0.0, WinHttpHandler prend en charge les en-têtes de fin, également appelés bandes-annonces (RFC 7230 - 4.1.2). Partie bande-annonce segmentée).

La prise en charge des bandes-annonces est implémentée via l’indicateur WINHTTP_QUERY_FLAG_TRAILERSd’informations de requête qui a été introduit dans Windows 11, version 21H2 (10.0 ; Build 22000). Sur les systèmes Windows qui WINHTTP_QUERY_FLAG_TRAILERS ne sont pas pris en charge, les bandes-annonces sont ignorées.

Constructeurs

Nom Description
WinHttpHandler()

Initialise une nouvelle instance de la classe WinHttpHandler.

Propriétés

Nom Description
AutomaticDecompression

Obtient ou définit le type de méthode de décompression utilisée par le gestionnaire pour la décompression automatique de la réponse de contenu HTTP.

AutomaticRedirection

Obtient ou définit une valeur qui indique si le gestionnaire doit suivre les réponses de redirection HTTP.

CheckCertificateRevocationList

Obtient ou définit une valeur qui indique s’il faut vérifier la liste de révocation des certificats lors de la validation des certificats SSL.

ClientCertificateOption

Obtient ou définit une valeur qui indique si le certificat est automatiquement sélectionné dans le magasin de certificats ou si l’appelant est autorisé à passer un certificat client spécifique.

ClientCertificates

Obtient une collection de certificats SSL d’authentification client utilisés pour l’authentification du client par le gestionnaire si la ClientCertificateOption propriété est définie Manualsur .

CookieContainer

Obtient ou définit l’objet conteneur de cookies managé. Cette propriété est utilisée uniquement lorsque la CookieUsePolicy propriété est définie sur UseSpecifiedCookieContainer. Sinon, la SendAsync(HttpRequestMessage, CancellationToken) méthode lève une exception.

CookieUsePolicy

Obtient ou définit une valeur qui indique comment les cookies doivent être gérés et utilisés. Les développeurs peuvent choisir d’ignorer les cookies, autoriser le gestionnaire à les gérer automatiquement ou les gérer manuellement à l’aide d’un CookieContainer objet.

DefaultProxyCredentials

Lorsque le proxy par défaut (système) est utilisé, obtient ou définit les informations d’identification utilisées pour envoyer au serveur proxy par défaut pour l’authentification.

EnableMultipleHttp2Connections

Obtient ou définit une valeur qui indique si des connexions HTTP/2 supplémentaires peuvent être établies sur le même serveur lorsque le nombre maximal de flux simultanés est atteint sur toutes les connexions existantes.

MaxAutomaticRedirections

Obtient ou définit le nombre maximal de redirections HTTP autorisées.

MaxConnectionsPerServer

Obtient ou définit le nombre maximal de connexions TCP autorisées sur un serveur unique.

MaxResponseDrainSize

Obtient ou définit la quantité maximale de données qui peuvent être vidées des réponses en octets.

MaxResponseHeadersLength

Obtient ou définit la longueur maximale, en kilo-octets (1024 octets), des en-têtes de réponse.

PreAuthenticate

Obtient ou définit une valeur qui indique si le gestionnaire envoie un en-tête d’autorisation avec la requête.

Properties

Obtient un dictionnaire accessible en écriture (autrement dit, une carte) de propriétés personnalisées pour les HttpClient requêtes. Le dictionnaire est initialisé vide ; vous pouvez insérer et interroger des paires clé-valeur pour vos gestionnaires personnalisés et traitement spécial.

Proxy

Obtient ou définit le proxy personnalisé lorsque la WindowsProxyUsePolicy propriété est définie pour utiliser un proxy personnalisé.

ReceiveDataTimeout

Obtient ou définit le délai d’expiration pour la réception de la partie de données d’une réponse du serveur.

ReceiveHeadersTimeout

Obtient ou définit le délai d’expiration pour recevoir les en-têtes d’une réponse du serveur.

SendTimeout

Obtient ou définit le délai d’expiration pour l’envoi d’une requête.

ServerCertificateValidationCallback

Obtient ou définit une méthode de rappel pour valider le certificat de serveur. Ce rappel fait partie de l’établissement d’une liaison SSL.

ServerCredentials

Obtient ou définit les informations d’identification à utiliser par le client pour s’authentifier auprès du serveur.

SslProtocols

Obtient ou définit la collection de protocoles TLS/SSL pris en charge par le client.

TcpKeepAliveEnabled

Obtient ou définit une valeur indiquant si tcp keep-alive est activé.

TcpKeepAliveInterval

Obtient ou définit l’intervalle de conservation tcp.

TcpKeepAliveTime

Obtient ou définit le délai d’expiration de la conservation tcp.

WindowsProxyUsePolicy

Obtient ou définit le paramètre de proxy. Cette propriété peut être définie pour désactiver le proxy, utiliser un proxy personnalisé ou utiliser les paramètres de proxy de WinHTTP ou WinInet sur l’ordinateur.

Méthodes

Nom Description
Dispose()

Libère les ressources non managées et supprime les ressources managées utilisées par le HttpMessageHandler.

(Hérité de HttpMessageHandler)
Dispose(Boolean)

Libère les ressources non managées utilisées par le WinHttpHandler, et supprime éventuellement les ressources gérées.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
SendAsync(HttpRequestMessage, CancellationToken)

Envoie une requête HTTP en tant qu’opération asynchrone.

ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

S’applique à