SocketsHttpHandler Classe

Definição

Oferece o manipulador de mensagens padrão usado pelo HttpClient no .NET Core 2.1 e versões anteriores.Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

public ref class SocketsHttpHandler sealed : System::Net::Http::HttpMessageHandler
public sealed class SocketsHttpHandler : System.Net.Http.HttpMessageHandler
type SocketsHttpHandler = class
    inherit HttpMessageHandler
Public NotInheritable Class SocketsHttpHandler
Inherits HttpMessageHandler
Herança
SocketsHttpHandler

Comentários

A partir do .NET Core 2,1, a classe SocketsHttpHandler fornece a implementação usada por classes de rede HTTP de nível superior, como HttpClient.Starting with .NET Core 2.1, the SocketsHttpHandler class provides the implementation used by higher-level HTTP networking classes such as HttpClient. O uso de SocketsHttpHandler oferece várias vantagens:The use of SocketsHttpHandler offers a number of advantages:

  • Uma melhoria de desempenho significativa quando comparada com a implementação anterior.A significant performance improvement when compared with the previous implementation.

  • A eliminação de dependências de plataforma, o que simplifica a implantação e a manutenção.The elimination of platform dependencies, which simplifies deployment and servicing. Por exemplo, libcurl não é mais uma dependência do .NET Core para macOS e .NET Core para Linux.For example, libcurl is no longer a dependency on .NET Core for macOS and .NET Core for Linux.

  • Comportamento consistente em todas as plataformas .NET.Consistent behavior across all .NET platforms.

Se essa alteração for indesejável, você poderá configurar seu aplicativo para usar a classe de System.Net.Http.HttpClientHandler mais antiga, em vez de várias maneiras:If this change is undesirable, you can configure your application to use the older System.Net.Http.HttpClientHandler class instead in a number of ways:

  • Chamando o método AppContext.SetSwitch da seguinte maneira:By calling the AppContext.SetSwitch method as follows:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • Definindo a opção System.Net.Http.UseSocketsHttpHandler no arquivo de configuração . NetCore. runtimeconfig. JSON :By defining the System.Net.Http.UseSocketsHttpHandler switch in the .netcore.runtimeconfig.json configuration file:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • Definindo uma variável de ambiente chamada DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER e definindo-a como false ou 0.By defining an environment variable named DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER and setting it to either false or 0.

Construtores

SocketsHttpHandler()

Propriedades

AllowAutoRedirect
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.Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.

ConnectTimeout
CookieContainer

Obtém ou define o objeto de contêiner do cookie gerenciado.Gets or sets the managed cookie container object.

Credentials
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.When the default (system) proxy is used, gets or sets the credentials used to submit to the default proxy server for authentication.

Expect100ContinueTimeout
MaxAutomaticRedirections

Obtém ou define o número máximo de redirecionamentos de HTTP permitidos.Gets or sets the maximum number of allowed HTTP redirects.

MaxConnectionsPerServer

Obtém ou define o número máximo de conexões TCP simultâneas permitido para um único servidor.Gets or sets the maximum number of simultaneous TCP connections allowed to a single server.

MaxResponseDrainSize

Obtém ou define o volume máximo de dados que pode ser extraído das respostas em bytes.Gets or sets the maximum amount of data that can be drained from responses in bytes.

MaxResponseHeadersLength

Obtém ou define o comprimento máximo, em quilobytes (1024 bytes), dos cabeçalhos de resposta.Gets or sets the maximum length, in kilobytes (1024 bytes), of the response headers.

PooledConnectionIdleTimeout

Obtém ou define quanto tempo uma conexão pode ficar ociosa no pool para ser considerada reutilizável.Gets or sets how long a connection can be idle in the pool to be considered reusable.

PooledConnectionLifetime
PreAuthenticate

Obtém ou define um valor que indica se o manipulador envia um cabeçalho de Autorização com a solicitação.Gets or sets a value that indicates whether the handler sends an Authorization header with the request.

Properties
Proxy

Obtém ou define o proxy personalizado quando a propriedade  UseProxy  é true.Gets or sets the custom proxy when the UseProxy property is true.

ResponseDrainTimeout
SslOptions

Obtém ou define o conjunto de opções usadas para a autenticação TLS do cliente.Gets or sets the set of options used for client TLS authentication.

UseCookies
UseProxy

Métodos

Dispose()

Libera os recursos não gerenciados e descarta aqueles gerenciados usados pelo HttpMessageHandler.Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageHandler.

(Herdado de HttpMessageHandler)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo HttpMessageHandler e, opcionalmente, descarta os recursos gerenciados.Releases the unmanaged resources used by the HttpMessageHandler and optionally disposes of the managed resources.

(Herdado de HttpMessageHandler)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
SendAsync(HttpRequestMessage, CancellationToken)

Envie uma solicitação HTTP como uma operação assíncrona.Send an HTTP request as an asynchronous operation.

(Herdado de HttpMessageHandler)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a