WinHttpHandler Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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).
- Sur .NET Standard 2.1 et .NET 8 ou version ultérieure, les bandes-annonces sont ajoutées à TrailingHeaders.
- Sur .NET Framework, les bandes-annonces sont ajoutées à une propriété connue dans HttpRequestMessage.Properties l’objet de requête correspondant à la réponse (HttpResponseMessage.RequestMessage). Le nom de la propriété est
__ResponseTrailers, le type de la valeur de propriété est HttpHeaders.
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 |
| 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) |