HttpBaseProtocolFilter.ServerCustomValidationRequested Evento
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questo evento viene generato quando viene stabilita la connessione SSL/TLS con il server. È necessario implementare un gestore eventi per questo evento se è necessario eseguire una convalida aggiuntiva (oltre all'impostazione predefinita del sistema operativo) del certificato SSL del server.
// 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 evento
Requisiti Windows
Famiglia di dispositivi |
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)
|
Commenti
La convalida predefinita del sistema operativo del certificato del server viene eseguita prima di generare questo evento. Se il certificato non riesce, la connessione viene terminata e il gestore eventi non viene chiamato.
Per ignorare parti della convalida del sistema operativo (non consigliato per gli scenari di produzione), usare la proprietà IgnorableServerCertificateErrors per specificare gli errori da ignorare. Finché il certificato non ha altri errori, la convalida del sistema operativo verrà considerata corretta e verrà chiamato il gestore eventi.
Il codice del gestore eventi viene eseguito come parte di un callback sincrono nel sistema operativo durante l'istituzione della connessione SSL/TLS. Evitare di eseguire attività a esecuzione prolungata all'interno del codice del gestore eventi per impedire al server di scadere durante la connessione.
Se è necessario chiamare api asincrone all'interno del codice del gestore eventi, è necessario eseguire un differimento (vedere HttpServerCustomValidationArgs.GetDeferral) prima di chiamare le API asincrone. Al termine, chiamare il rinvio. Metodo completo per restituire il controllo dal codice del gestore.
Il frammento di codice seguente illustra come sottoscrivere questo evento.
HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
var cert = args.ServerCertificate
// Your custom cert validation code here.
}