SocketsHttpHandler 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.
Fournit le Gestionnaire de messages par défaut utilisé par HttpClient dans .NET Core 2.1 et ultérieur.
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
- Héritage
- Attributs
Remarques
À compter de .NET Core 2.1, la SocketsHttpHandler
classe fournit l’implémentation utilisée par les classes réseau HTTP de niveau supérieur telles que HttpClient. L’utilisation de SocketsHttpHandler
offre un certain nombre d’avantages :
Une amélioration significative des performances par rapport à l’implémentation précédente.
L’élimination des dépendances de plateforme, ce qui simplifie le déploiement et la maintenance. Par exemple,
libcurl
n’est plus une dépendance envers .NET Core pour macOS et .NET Core pour Linux.Comportement cohérent sur toutes les plateformes .NET.
Si cette modification n’est pas souhaitable et que vous utilisez .NET Core 2.1-3.1, vous pouvez configurer votre application pour utiliser l’ancienne System.Net.Http.HttpClientHandler classe à la place de plusieurs façons :
En appelant la AppContext.SetSwitch méthode comme suit :
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
En définissant le
System.Net.Http.UseSocketsHttpHandler
commutateur dans le fichier de configuration .netcore.runtimeconfig.json :"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }
En définissant une variable d’environnement nommée
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
et en lui affectant la valeurfalse
ou 0.
Ces options de configuration ne sont pas disponibles à partir de .NET 5.
Constructeurs
SocketsHttpHandler() |
Crée une instance d’une classe SocketsHttpHandler. |
Propriétés
ActivityHeadersPropagator |
Obtient ou définit le propagateur à utiliser lors de la propagation de la trace et du contexte distribués.
Utilisez |
AllowAutoRedirect |
Obtient ou définit une valeur qui indique si le gestionnaire doit suivre les réponses de redirection. |
AutomaticDecompression |
Obtient ou définit le type de méthode de décompression utilisé par le gestionnaire pour la décompression automatique de la réponse du contenu HTTP. |
ConnectCallback |
Obtient ou définit un rappel personnalisé utilisé pour ouvrir de nouvelles connexions. |
ConnectTimeout |
Obtient ou définit la période d'attente jusqu'à l'expiration de l’établissement de la connexion. |
CookieContainer |
Obtient ou définit l’objet conteneur de cookie managé. |
Credentials |
Obtient ou définit les informations d’authentification utilisées par ce gestionnaire. |
DefaultProxyCredentials |
Quand 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. |
EnableMultipleHttp3Connections |
Fournit le Gestionnaire de messages par défaut utilisé par HttpClient dans .NET Core 2.1 et ultérieur. |
Expect100ContinueTimeout |
Obtient ou définit la valeur du délai d'expiration pour la réponse Continuer HTTP 100 du serveur. |
InitialHttp2StreamWindowSize |
Définit la taille de la fenêtre de réception de flux HTTP2 initiale pour toutes les connexions ouvertes par ce .SocketsHttpHandler |
IsSupported |
Obtient une valeur qui indique si le gestionnaire spécifié est pris en charge sur la plateforme actuelle. |
KeepAlivePingDelay |
Obtient ou définit le délai des requêtes ping de maintien de l’activité. |
KeepAlivePingPolicy |
Obtient ou définit le comportement des requêtes ping de maintien de l’activité. |
KeepAlivePingTimeout |
Obtient ou définit le délai d’expiration des requêtes ping de maintien de l’activité. |
MaxAutomaticRedirections |
Obtient ou définit le nombre maximal de redirections HTTP autorisées. |
MaxConnectionsPerServer |
Obtient ou définit le nombre maximal de connexions TCP simultanées autorisées à un seul serveur. |
MaxResponseDrainSize |
Obtient ou définit la quantité maximale de données qui peuvent être purgées à partir 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. |
MeterFactory |
Obtient ou définit le IMeterFactory pour créer un personnalisé Meter pour le SocketsHttpHandler instance. |
PlaintextStreamFilter |
Récupère ou définit un rappel personnalisé qui donne accès au flux du protocole HTTP en clair. |
PooledConnectionIdleTimeout |
Obtient ou définit la durée pendant laquelle une connexion peut être inactive dans le pool pour être considérée réutilisable. |
PooledConnectionLifetime |
Obtient ou définit la durée pendant laquelle une connexion peut être dans le pool pour être considérée réutilisable. |
PreAuthenticate |
Obtient ou définit une valeur indiquant si le gestionnaire envoie un en-tête d’autorisation avec la requête. |
Properties |
Obtient un dictionnaire accessible en écriture (c’est-à-dire une carte) de propriétés personnalisées pour les requêtes HttpClient. Le dictionnaire est initialisé vide ; vous pouvez insérer et interroger des paires clé-valeur pour vos gestionnaires personnalisés et un traitement spécial. |
Proxy |
Récupère ou définit le proxy personnalisé quand la propriété UseProxy a la valeur |
RequestHeaderEncodingSelector |
Obtient ou définit un rappel qui sélectionne les valeurs d’en-tête Encoding de requête à encoder. |
ResponseDrainTimeout |
Obtient ou définit le laps de temps d’attente avant que des données ne soient drainées des réponses. |
ResponseHeaderEncodingSelector |
Obtient ou définit un rappel qui sélectionne les valeurs d’en-tête Encoding de réponse à décoder. |
SslOptions |
Obtient ou définit le jeu d’options utilisé pour l’authentification TLS du client. |
UseCookies |
Obtient ou définit une valeur qui indique si le gestionnaire doit utiliser des cookies. |
UseProxy |
Obtient ou définit une valeur qui indique si le gestionnaire doit utiliser un proxy. |
Méthodes
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 HttpMessageHandler et supprime éventuellement les ressources managées. (Hérité de HttpMessageHandler) |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Send(HttpRequestMessage, CancellationToken) |
En cas de substitution dans une classe dérivée, envoie une requête HTTP avec la requête et le jeton d’annulation spécifiés. Sinon, lève un NotSupportedException. (Hérité de HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
Envoie une requête HTTP en tant qu'opération asynchrone. (Hérité de HttpMessageHandler) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |