SocketsHttpHandler Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Oferece o manipulador de mensagens padrão usado pelo HttpClient no .NET Core 2.1 e versões anteriores.
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
- Herança
- Atributos
Comentários
A partir do .NET Core 2.1, a SocketsHttpHandler classe fornece a implementação usada por classes de rede HTTP de nível superior, como HttpClient. O uso de SocketsHttpHandler oferece várias vantagens:
Uma melhoria de desempenho significativa quando comparada com a implementação anterior.
A eliminação de dependências de plataforma, que simplifica a implantação e a manutenção. Por exemplo,
libcurlnão é mais uma dependência do .NET Core para macOS e .NET Core para Linux.Comportamento consistente em todas as plataformas .NET.
Se essa alteração for indesejável e você estiver no .NET Core 2.1-3.1, poderá configurar seu aplicativo para usar a classe mais antiga System.Net.Http.HttpClientHandler de várias maneiras:
Chamando o método da AppContext.SetSwitch seguinte maneira:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)Definindo a opção
System.Net.Http.UseSocketsHttpHandlerno arquivo de configuração .netcore.runtimeconfig.json :"runtimeOptions": { "configProperties": { "System.Net.Http.UseSocketsHttpHandler": false } }Definindo uma variável de ambiente chamada
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLERe definindo-a comofalseou 0.
Essas opções de configuração não estão disponíveis a partir do .NET 5.
Construtores
| SocketsHttpHandler() |
Cria uma instância de uma classe SocketsHttpHandler. |
Propriedades
| ActivityHeadersPropagator |
Obtém ou define o propagador a ser usado ao propagar o rastreamento e o contexto distribuídos.
Use |
| AllowAutoRedirect |
Obtém ou define um valor que indica se o manipulador deve seguir as respostas de redirecionamento. |
| AutomaticDecompression |
Obtém ou define o tipo de método de descompactação usado pelo manipulador para descompactação automática da resposta de conteúdo HTTP. |
| ConnectCallback |
Obtém ou define um retorno de chamada personalizado usado para abrir novas conexões. |
| ConnectTimeout |
Obtém ou define o intervalo de espera antes que o tempo limite de estabelecimento da conexão seja atingido. |
| CookieContainer |
Obtém ou define o objeto de contêiner do cookie gerenciado. |
| Credentials |
Obtém ou define informações de autenticação usadas por este manipulador. |
| DefaultProxyCredentials |
Quando o proxy padrão (de sistema) é usado, obtém ou define as credenciais usadas para enviar ao servidor proxy padrão para autenticação. |
| EnableMultipleHttp2Connections |
Obtém ou define um valor que indica se conexões HTTP/2 adicionais podem ser estabelecidas com o mesmo servidor. |
| EnableMultipleHttp3Connections |
Oferece o manipulador de mensagens padrão usado pelo HttpClient no .NET Core 2.1 e versões anteriores. |
| Expect100ContinueTimeout |
Obtém ou define o valor de tempo limite para a resposta HTTP 100 Continue do servidor. |
| InitialHttp2StreamWindowSize |
Define o tamanho inicial da janela de recebimento do fluxo HTTP2 para todas as conexões abertas por este SocketsHttpHandler. |
| IsSupported |
Obtém um valor que indica se o manipulador tem suporte na plataforma atual. |
| KeepAlivePingDelay |
Obtém ou define o atraso do ping de keep alive. |
| KeepAlivePingPolicy |
Obtém ou define o comportamento do ping de keep alive. |
| KeepAlivePingTimeout |
Obtém ou define o tempo limite do ping de keep alive. |
| MaxAutomaticRedirections |
Obtém ou define o número máximo de redirecionamentos de HTTP permitidos. |
| MaxConnectionsPerServer |
Obtém ou define o número máximo de conexões TCP simultâneas permitido para um único servidor. |
| MaxResponseDrainSize |
Obtém ou define o volume máximo de dados que pode ser extraído das respostas em bytes. |
| MaxResponseHeadersLength |
Obtém ou define o comprimento máximo, em quilobytes (1024 bytes), dos cabeçalhos de resposta. |
| MeterFactory |
Obtém ou define o IMeterFactory para criar um personalizado Meter para a SocketsHttpHandler instância. |
| PlaintextStreamFilter |
Obtém ou define um retorno de chamada personalizado que fornece acesso ao fluxo de protocolo HTTP de texto sem formatação. |
| PooledConnectionIdleTimeout |
Obtém ou define quanto tempo uma conexão pode ficar ociosa no pool para ser considerada reutilizável. |
| PooledConnectionLifetime |
Obtém ou define quanto tempo uma conexão pode ficar no pool para ser considerada reutilizável. |
| PreAuthenticate |
Obtém ou define um valor que indica se o manipulador envia um cabeçalho de autorização com a solicitação. |
| Properties |
Obtém um dicionário gravável (ou seja, um mapa) de propriedades personalizadas para as solicitações HttpClient. O dicionário é inicializado vazio. Você pode inserir e consultar pares chave-valor para seus manipuladores personalizados e processamento especial. |
| Proxy |
Obtém ou define o proxy personalizado quando a propriedade UseProxy é |
| RequestHeaderEncodingSelector |
Obtém ou define um retorno de chamada que seleciona o Encoding para codificar valores de cabeçalho de solicitação. |
| ResponseDrainTimeout |
Obtém ou define o intervalo de espera para que os dados sejam descarregados das respostas. |
| ResponseHeaderEncodingSelector |
Obtém ou define um retorno de chamada que seleciona o Encoding para decodificar valores de cabeçalho de resposta. |
| SslOptions |
Obtém ou define o conjunto de opções usadas para a autenticação TLS do cliente. |
| UseCookies |
Obtém ou define um valor que indica se o manipulador deve usar cookies. |
| UseProxy |
Obtém ou define um valor que indica se o manipulador deve usar um proxy. |
Métodos
| Dispose() |
Libera os recursos não gerenciados e descarta aqueles gerenciados usados pelo HttpMessageHandler. (Herdado de HttpMessageHandler) |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo HttpMessageHandler e, opcionalmente, descarta os recursos gerenciados. (Herdado de HttpMessageHandler) |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
| Send(HttpRequestMessage, CancellationToken) |
Quando substituído em uma classe derivada, envia uma solicitação HTTP com a solicitação e o token de cancelamento especificados. Caso contrário, gerará um NotSupportedException. (Herdado de HttpMessageHandler) |
| SendAsync(HttpRequestMessage, CancellationToken) |
Envie uma solicitação HTTP como uma operação assíncrona. (Herdado de HttpMessageHandler) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |