Partilhar via


WinHttpHandler Classe

Definição

Manipula mensagens com base na interface WinHTTP do Windows. Essa classe destina-se ao uso em ambientes de servidor.

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

Comentários

WinHttpHandler é semelhante a outras classes existentes, como HttpClientHandler. WinHttpHandler fornece um manipulador abaixo de uma HttpClient instância e é usado para enviar solicitações HTTP para um servidor e receber respostas do servidor. A WinHttpHandler implementação dá suporte a versões HTTP até HTTP/2.

WinHttpHandler fornece aos desenvolvedores um controle mais granular sobre a comunicação HTTP do aplicativo do que a HttpClientHandler classe. Isso permite que os desenvolvedores implementem cenários HTTP mais avançados ou modifiquem os padrões do sistema (por exemplo, configurações de proxy, tempos limite e validação de certificado SSL do servidor).

WinHttpHandler não se destina a ser um substituto para HttpClientHandler. Em vez disso, é uma versão mais avançada fornecida para cenários em HttpClientHandler que é insuficiente. WinHttpHandler é implementado como um wrapper fino na interface WinHTTP do Windows e só tem suporte em sistemas Windows.

Ao usar uma cadeia de vários manipuladores, WinHttpHandler deve estar na parte inferior da cadeia.

A partir do .NET 5, WinHttpHandler não está mais incluído no assemblySystem.Net.Http.dll como parte do runtime do .NET. Para obter mais informações, consulte WinHttpHandler removido do runtime do .NET.

Cabeçalhos à direita

A partir da versão 6.0.0, WinHttpHandler dá suporte a cabeçalhos à direita, também conhecidos como trailers (RFC 7230 – 4.1.2. Parte do trailer em partes).

O suporte a trailer é implementado por meio do WINHTTP_QUERY_FLAG_TRAILERSSinalizador de Informações de Consulta que foi introduzido no Windows 11, versão 21H2 (10.0; Build 22000). Em sistemas Windows em que WINHTTP_QUERY_FLAG_TRAILERS não há suporte, os trailers são ignorados.

Construtores

Nome Description
WinHttpHandler()

Inicializa uma nova instância da classe WinHttpHandler.

Propriedades

Nome Description
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.

AutomaticRedirection

Obtém ou define um valor que indica se o manipulador deve seguir as respostas de redirecionamento HTTP.

CheckCertificateRevocationList

Obtém ou define um valor que indica se a lista de certificados revogados deve ser verificada durante a validação do certificado SSL.

ClientCertificateOption

Obtém ou define um valor que indica se o certificado é escolhido automaticamente no repositório de certificados ou se o chamador tem permissão para passar um certificado de cliente específico.

ClientCertificates

Obtém uma coleção de certificados SSL de autenticação de cliente que são usados para autenticação de cliente pelo manipulador se a ClientCertificateOption propriedade estiver definida como Manual.

CookieContainer

Obtém ou define o objeto de contêiner de cookie gerenciado. Essa propriedade só é usada quando a CookieUsePolicy propriedade é definida como UseSpecifiedCookieContainer. Caso contrário, o SendAsync(HttpRequestMessage, CancellationToken) método gerará uma exceção.

CookieUsePolicy

Obtém ou define um valor que indica como os cookies devem ser gerenciados e usados. Os desenvolvedores podem optar por ignorar cookies, permitir que o manipulador os gerencie automaticamente ou manipule-os manualmente usando um CookieContainer objeto.

DefaultProxyCredentials

Quando o proxy padrão (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 para o mesmo servidor quando o número máximo de fluxos simultâneos é atingido em todas as conexões existentes.

MaxAutomaticRedirections

Obtém ou define o número máximo de redirecionamentos HTTP permitidos.

MaxConnectionsPerServer

Obtém ou define o número máximo de conexões TCP permitidas para um único servidor.

MaxResponseDrainSize

Obtém ou define a quantidade máxima de dados que podem ser drenados de respostas em bytes.

MaxResponseHeadersLength

Obtém ou define o comprimento máximo, em quilobytes (1024 bytes), dos cabeçalhos de resposta.

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 HttpClient solicitações. 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 WindowsProxyUsePolicy propriedade é definida para usar um proxy personalizado.

ReceiveDataTimeout

Obtém ou define o tempo limite para receber a parte de dados de uma resposta do servidor.

ReceiveHeadersTimeout

Obtém ou define o tempo limite para receber os cabeçalhos de uma resposta do servidor.

SendTimeout

Obtém ou define o tempo limite para enviar uma solicitação.

ServerCertificateValidationCallback

Obtém ou define um método de retorno de chamada para validar o certificado do servidor. Esse retorno de chamada faz parte do handshake SSL.

ServerCredentials

Obtém ou define as credenciais a serem usadas pelo cliente para autenticar no servidor.

SslProtocols

Obtém ou define a coleção de protocolos TLS/SSL compatíveis com o cliente.

TcpKeepAliveEnabled

Obtém ou define um valor que indica se o keep-alive TCP está habilitado.

TcpKeepAliveInterval

Obtém ou define o intervalo de keep-alive do TCP.

TcpKeepAliveTime

Obtém ou define o tempo limite de keep-alive do TCP.

WindowsProxyUsePolicy

Obtém ou define a configuração de proxy. Essa propriedade pode ser definida para desabilitar o proxy, usar um proxy personalizado ou usar as configurações de proxy de WinHTTP ou WinInet no computador.

Métodos

Nome Description
Dispose()

Libera os recursos não gerenciados e descarta os recursos gerenciados usados pelo HttpMessageHandler.

(Herdado de HttpMessageHandler)
Dispose(Boolean)

Libera os recursos não gerenciados usados pelo WinHttpHandlere, opcionalmente, descarta os recursos gerenciados.

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 Objectatual.

(Herdado de Object)
SendAsync(HttpRequestMessage, CancellationToken)

Envia uma solicitação HTTP como uma operação assíncrona.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a