HttpBaseProtocolFilter.ServerCustomValidationRequested Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Cet événement est déclenché lorsque la connexion SSL/TLS est établie avec le serveur. Vous devez implémenter un gestionnaire d’événements pour cet événement si vous devez effectuer une validation supplémentaire (en plus de la valeur par défaut du système d’exploitation) du certificat SSL du serveur.
// 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)
Type d'événement
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v3.0)
|
Remarques
La validation du système d’exploitation par défaut du certificat de serveur est effectuée avant de déclencher cet événement. Si le certificat échoue à cette validation, la connexion est arrêtée et votre gestionnaire d’événements n’est pas appelé.
Pour ignorer certaines parties de la validation du système d’exploitation (non recommandée pour les scénarios de production), utilisez la propriété IgnorableServerCertificateErrors pour spécifier les erreurs que vous souhaitez ignorer. Ensuite, tant que le certificat n’a pas d’autres erreurs, la validation du système d’exploitation sera considérée comme réussie et votre gestionnaire d’événements sera appelé.
Le code du gestionnaire d’événements est exécuté dans le cadre d’un rappel synchrone dans le système d’exploitation pendant l’établissement de la connexion SSL/TLS. Évitez d’effectuer des tâches de longue durée dans le code du gestionnaire d’événements pour empêcher le serveur d’expirer pendant la connexion.
Si vous devez appeler des API asynchrones dans votre code de gestionnaire d’événements, vous devez prendre un report (voir HttpServerCustomValidationArgs.GetDeferral) avant d’appeler les API asynchrones. Une fois que vous avez terminé, appelez le report. Méthode complète pour retourner le contrôle à partir de votre code de gestionnaire.
L’extrait de code suivant montre comment s’abonner à cet événement.
HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
var cert = args.ServerCertificate
// Your custom cert validation code here.
}