SocketsHttpHandler SocketsHttpHandler SocketsHttpHandler SocketsHttpHandler Class

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
SocketsHttpHandlerSocketsHttpHandlerSocketsHttpHandlerSocketsHttpHandler

Comentários

Começando com o .NET Core 2.1, o SocketsHttpHandler classe fornece a implementação usada pelas classes de rede nível mais altos de HTTP 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 uma série de 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, que simplifica a implantação e manutenção.The elimination of platform dependencies, which simplifies deployment and servicing. Por exemplo, libcurl não é mais uma dependência no .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ê pode configurar seu aplicativo para usar o antigo System.Net.Http.HttpClientHandler classe em vez disso, 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 AppContext.SetSwitch método 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 o System.Net.Http.UseSocketsHttpHandler de inserção a . netcore.runtimeconfig.json arquivo de configuração: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 denominada DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER e defini-la 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() SocketsHttpHandler() SocketsHttpHandler() SocketsHttpHandler()

Propriedades

AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect
AutomaticDecompression AutomaticDecompression AutomaticDecompression AutomaticDecompression
ConnectTimeout ConnectTimeout ConnectTimeout ConnectTimeout
CookieContainer CookieContainer CookieContainer CookieContainer
Credentials Credentials Credentials Credentials
DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials
Expect100ContinueTimeout Expect100ContinueTimeout Expect100ContinueTimeout Expect100ContinueTimeout
MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections
MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer
MaxResponseDrainSize MaxResponseDrainSize MaxResponseDrainSize MaxResponseDrainSize
MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength
PooledConnectionIdleTimeout PooledConnectionIdleTimeout PooledConnectionIdleTimeout 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 PooledConnectionLifetime PooledConnectionLifetime PooledConnectionLifetime
PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate
Properties Properties Properties Properties
Proxy Proxy Proxy Proxy
ResponseDrainTimeout ResponseDrainTimeout ResponseDrainTimeout ResponseDrainTimeout
SslOptions SslOptions SslOptions SslOptions
UseCookies UseCookies UseCookies UseCookies
UseProxy UseProxy UseProxy UseProxy

Métodos

Dispose() Dispose() Dispose() 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.

(Inherited from HttpMessageHandler)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) 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.

(Inherited from HttpMessageHandler)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken)

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

(Inherited from HttpMessageHandler)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Aplica-se a