WinHttpHandler 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.
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
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).
- No .NET Standard 2.1 e no .NET 8 ou posterior, os trailers são adicionados a TrailingHeaders.
- No .NET Framework, os trailers são adicionados a uma propriedade HttpRequestMessage.Properties conhecida no objeto de solicitação correspondente à resposta (HttpResponseMessage.RequestMessage). O nome da propriedade é
__ResponseTrailers, o tipo do valor da propriedade é HttpHeaders.
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 |
| 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) |