WinHttpHandler Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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).
- Em .NET Standard 2.1 e .NET 8 ou posteriores, os reboques são adicionados ao TrailingHeaders.
- No .NET Framework, os trailers são adicionados a uma propriedade bem conhecida em HttpRequestMessage.Properties no objeto de pedido correspondente à resposta (HttpResponseMessage.RequestMessage). O nome da propriedade é
__ResponseTrailers, o tipo do valor da propriedade é HttpHeaders.
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 |
| 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) |