WinHttpHandler Classe

Definição

Trata mensagens com base na interface WinHTTP do Windows. Esta classe destina-se a ser utilizada 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

Observações

WinHttpHandler é semelhante a outras classes existentes, como HttpClientHandler. WinHttpHandler fornece um handler por baixo de uma HttpClient instância e é usado para enviar pedidos HTTP para um servidor e receber respostas do servidor. A WinHttpHandler implementação suporta versões HTTP até HTTP/2.

WinHttpHandler proporciona aos programadores um controlo mais granular sobre a comunicação HTTP da aplicação do que a HttpClientHandler classe. Isto permite aos programadores implementar cenários HTTP mais avançados ou modificar os padrões do sistema (por exemplo, definições de proxy, timeouts e validação de certificados SSL do servidor).

WinHttpHandlernão se destina a substituir .HttpClientHandler Em vez disso, é uma versão mais avançada, fornecida para cenários onde HttpClientHandler é insuficiente. WinHttpHandler é implementado como um wrapper fino na interface WinHTTP da Windows e é suportado apenas em sistemas Windows.

Ao usar uma cadeia com múltiplos handlers, WinHttpHandler deve estar no fundo da cadeia.

A partir de .NET 5, WinHttpHandler deixa de ser incluído na montagem System.Net.Http.dll como parte do tempo de execução .NET. Para mais informações, consulte WinHttpHandler removido do runtime.NET.

Cabeçalhos posteriores

A partir da versão 6.0.0, WinHttpHandler suporta cabeçalhos posteriores, também conhecidos como trailers (RFC 7230 - 4.1.2. Parte do Trailer em Pedaços).

O suporte a trailers é implementado através da WINHTTP_QUERY_FLAG_TRAILERSQuery Info Flag que foi introduzida em Windows 11, versão 21H2 (10.0; Build 22000). Em sistemas Windows onde WINHTTP_QUERY_FLAG_TRAILERS não é suportado, os reboques são ignorados.

Construtores

Name Description
WinHttpHandler()

Inicializa uma nova instância da WinHttpHandler classe.

Propriedades

Name Description
AutomaticDecompression

Obtém ou define o tipo de método de descompressão usado pelo handler para a descompressão automática da resposta de conteúdo HTTP.

AutomaticRedirection

Recebe ou define um valor que indica se o handler deve seguir respostas de redirecionamento HTTP.

CheckCertificateRevocationList

Recebe ou define um valor que indica se deve verificar a lista de revogação de certificados durante a validação de certificados SSL.

ClientCertificateOption

Recebe ou define um valor que indica se o certificado é automaticamente selecionado do armazenamento de certificados ou se o chamador pode passar um certificado cliente específico.

ClientCertificates

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

CookieContainer

Obtém ou define o objeto de contentor de bolachas geridas. Esta propriedade só é usada quando está CookieUsePolicy definida como UseSpecifiedCookieContainer. Caso contrário, o SendAsync(HttpRequestMessage, CancellationToken) método lançará uma exceção.

CookieUsePolicy

Recebe ou define um valor que indica como os cookies devem ser geridos e utilizados. Os programadores podem optar por ignorar cookies, permitir que o handler os gere automaticamente ou manuseá-los manualmente usando um CookieContainer objeto.

DefaultProxyCredentials

Quando o proxy padrão (do sistema) é utilizado, obtém ou define as credenciais usadas para submeter ao servidor proxy predefinido para autenticação.

EnableMultipleHttp2Connections

Obtém ou define um valor que indica se podem ser estabelecidas ligações HTTP/2 adicionais para o mesmo servidor quando o número máximo de fluxos concorrentes é atingido em todas as ligaçõ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 ligações TCP permitidas a um único servidor.

MaxResponseDrainSize

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

MaxResponseHeadersLength

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

PreAuthenticate

Recebe ou define um valor que indica se o handler envia um cabeçalho de Autorização com o pedido.

Properties

Obtém um dicionário gravável (ou seja, um mapa) de propriedades personalizadas para os HttpClient pedidos. O dicionário é inicializado vazio; Podes inserir e consultar pares chave-valor para os teus handlers personalizados e processamento especial.

Proxy

Obtém ou definem o proxy personalizado quando a WindowsProxyUsePolicy propriedade está configurada para usar um proxy personalizado.

ReceiveDataTimeout

Recebe ou define o timeout para receber a parte de dados de uma resposta do servidor.

ReceiveHeadersTimeout

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

SendTimeout

Obtém ou define o timeout para enviar um pedido.

ServerCertificateValidationCallback

Recebe ou define um método de callback para validar o certificado do servidor. Este callback 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 suportados pelo cliente.

TcpKeepAliveEnabled

Recebe ou define um valor que indica se o TCP keep-alive está ativado.

TcpKeepAliveInterval

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

TcpKeepAliveTime

Recebe ou define o timeout TCP para manter a vida.

WindowsProxyUsePolicy

Obtém ou define a definição proxy. Esta propriedade pode ser definida para desativar o proxy, usar um proxy personalizado ou usar as definições do proxy WinHTTP ou WinInet na máquina.

Métodos

Name Description
Dispose()

Liberta os recursos não geridos e dispõe dos recursos geridos usados pelo HttpMessageHandler.

(Herdado de HttpMessageHandler)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo WinHttpHandler, e opcionalmente elimina os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SendAsync(HttpRequestMessage, CancellationToken)

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

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a