HttpBaseProtocolFilter.ServerCustomValidationRequested Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Este evento se genera cuando se establece la conexión SSL/TLS con el servidor. Debe implementar un controlador de eventos para este evento si necesita realizar una validación adicional (además del valor predeterminado del sistema operativo) del certificado SSL del 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 de Windows
Familia de dispositivos |
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)
|
Comentarios
La validación predeterminada del sistema operativo del certificado de servidor se realiza antes de generar este evento. Si el certificado produce un error en esta validación, se finaliza la conexión y no se llama al controlador de eventos.
Para omitir partes de la validación del sistema operativo (no se recomienda para escenarios de producción), use la propiedad IgnoreableServerCertificateErrors para especificar los errores que desea omitir. A continuación, siempre que el certificado no tenga ningún otro error, la validación del sistema operativo se considerará correcta y se llamará al controlador de eventos.
El código del controlador de eventos se ejecuta como parte de una devolución de llamada sincrónica en el sistema operativo durante el establecimiento de la conexión SSL/TLS. Evite realizar tareas de larga duración en el código del controlador de eventos para evitar que el servidor agote el tiempo de espera durante la conexión.
Si necesita llamar a las API asincrónicas en el código del controlador de eventos, debe tomar un aplazamiento (consulte HttpServerCustomValidationArgs.GetDeferral) antes de llamar a las API asincrónicas. Una vez que haya terminado, llame al aplazamiento. Método completo para devolver el control desde el código del controlador.
En el fragmento de código siguiente se muestra cómo suscribirse a este evento.
HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
var cert = args.ServerCertificate
// Your custom cert validation code here.
}