Compartilhar via


HttpBaseProtocolFilter.ServerCustomValidationRequested Evento

Definição

Esse evento é gerado quando a conexão SSL/TLS está sendo estabelecida com o servidor. Você deve implementar um manipulador de eventos para esse evento se precisar executar uma validação extra (além do padrão do sistema operacional) do certificado SSL do servidor.

// Register
event_token ServerCustomValidationRequested(TypedEventHandler<HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs const&> const& handler) const;

// Revoke with event_token
void ServerCustomValidationRequested(event_token const* cookie) const;

// Revoke with event_revoker
HttpBaseProtocolFilter::ServerCustomValidationRequested_revoker ServerCustomValidationRequested(auto_revoke_t, TypedEventHandler<HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs const&> const& handler) const;
public event TypedEventHandler<HttpBaseProtocolFilter,HttpServerCustomValidationRequestedEventArgs> ServerCustomValidationRequested;
function onServerCustomValidationRequested(eventArgs) { /* Your code */ }
httpBaseProtocolFilter.addEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
httpBaseProtocolFilter.removeEventListener("servercustomvalidationrequested", onServerCustomValidationRequested);
- or -
httpBaseProtocolFilter.onservercustomvalidationrequested = onServerCustomValidationRequested;
Public Custom Event ServerCustomValidationRequested As TypedEventHandler(Of HttpBaseProtocolFilter, HttpServerCustomValidationRequestedEventArgs) 

Tipo de evento

Requisitos do Windows

Família de dispositivos
Windows 10 Anniversary Edition (introduzida na 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v3.0)

Comentários

A validação padrão do sistema operacional do certificado do servidor é executada antes de gerar esse evento. Se o certificado falhar nessa validação, a conexão será encerrada e o manipulador de eventos não será chamado.

Para ignorar partes da validação do sistema operacional (não recomendada para cenários de produção), use a propriedade IgnorableServerCertificateErrors para especificar os erros que você deseja ignorar. Desde que o certificado não tenha outros erros, a validação do sistema operacional será considerada bem-sucedida e o manipulador de eventos será chamado.

O código do manipulador de eventos é executado como parte de um retorno de chamada síncrono no sistema operacional durante o estabelecimento da conexão SSL/TLS. Evite executar tarefas de longa execução no código do manipulador de eventos para impedir que o servidor atinja o tempo limite durante a conexão.

Se você precisar chamar APIs assíncronas no código do manipulador de eventos, deverá fazer um adiamento (consulte HttpServerCustomValidationArgs.GetDeferral) antes de chamar as APIs assíncronas. Quando terminar, chame o adiamento. Método completo para retornar o controle do código do manipulador.

O snippet a seguir mostra como assinar esse evento.

HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
	var cert = args.ServerCertificate
	// Your custom cert validation code here.
}

Aplica-se a