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 versions ultérieures.
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 classe SocketsHttpHandler
fournit l’implémentation utilisée par des classes de mise en réseau HTTP de niveau supérieur telles que HttpClient. L’utilisation de SocketsHttpHandler
offre un certain nombre d’avantages :
Amélioration significative des performances par rapport à l’implémentation précédente.
L’élimination des dépendances de plateforme, qui simplifie le déploiement et la maintenance. Par exemple,
libcurl
n’est plus une dépendance avec .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 classe System.Net.Http.HttpClientHandler à la place de plusieurs façons :
En appelant la méthode AppContext.SetSwitch comme suit :
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
En définissant le commutateur
System.Net.Http.UseSocketsHttpHandler
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 la définissant surfalse
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ée par le gestionnaire pour la décompression automatique de la réponse de contenu HTTP. |
ConnectCallback |
Obtient ou définit un rappel personnalisé utilisé pour ouvrir de nouvelles connexions. |
ConnectTimeout |
Obtient ou définit l’intervalle de temps à attendre avant l’expiration de la connexion. |
CookieContainer |
Obtient ou définit l’objet conteneur de cookies managé. |
Credentials |
Obtient ou définit les informations d’authentification utilisées par ce gestionnaire. |
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. |
EnableMultipleHttp3Connections |
Obtient ou définit une valeur qui indique si des connexions HTTP/3 supplémentaires peuvent être établies sur le même serveur. |
Expect100ContinueTimeout |
Obtient ou définit la valeur de délai d’attente pour la réponse HTTP 100 Continue du serveur. |
InitialHttp2StreamWindowSize |
Définit la taille initiale de la fenêtre de réception du flux HTTP2 pour toutes les connexions ouvertes par cette SocketsHttpHandler. |
IsSupported |
Obtient une valeur qui indique si le gestionnaire est pris en charge sur la plateforme actuelle. |
KeepAlivePingDelay |
Obtient ou définit le délai ping keep alive. |
KeepAlivePingPolicy |
Obtient ou définit le comportement ping continu. |
KeepAlivePingTimeout |
Obtient ou définit le délai d’expiration du test ping keep alive. |
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 sur un seul serveur. |
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. |
MeterFactory |
Obtient ou définit l'IMeterFactory pour créer un Meter personnalisé pour l’instance de SocketsHttpHandler. |
PlaintextStreamFilter |
Obtient ou définit un rappel personnalisé qui fournit l’accès au flux de protocole HTTP en texte clair. |
PooledConnectionIdleTimeout |
Obtient ou définit la durée pendant laquelle une connexion peut être inactive dans le pool pour être considérée comme réutilisable. |
PooledConnectionLifetime |
Obtient ou définit la durée pendant laquelle une connexion peut se trouver dans le pool pour être considérée comme réutilisable. |
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 requêtes HttpClient. 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 propriété UseProxy est |
RequestHeaderEncodingSelector |
Obtient ou définit un rappel qui sélectionne l'Encoding pour encoder les valeurs d’en-tête de requête. |
ResponseDrainTimeout |
Obtient ou définit l’intervalle de temps pour attendre que les données soient vidées des réponses. |
ResponseHeaderEncodingSelector |
Obtient ou définit un rappel qui sélectionne les Encoding pour décoder les valeurs d’en-tête de réponse. |
SslOptions |
Obtient ou définit l’ensemble d’options utilisées 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() |
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) |
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 une NotSupportedException. (Hérité de HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
Envoyez 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) |