HttpBaseProtocolFilter.ServerCustomValidationRequested Ereignis
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dieses Ereignis wird ausgelöst, wenn die SSL/TLS-Verbindung mit dem Server hergestellt wird. Sie sollten einen Ereignishandler für dieses Ereignis implementieren, wenn Sie eine zusätzliche Überprüfung (zusätzlich zum Betriebssystemstandard) des Server-SSL-Zertifikats durchführen müssen.
// 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)
Ereignistyp
Windows-Anforderungen
Gerätefamilie |
Windows 10 Anniversary Edition (eingeführt in 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (eingeführt in v3.0)
|
Hinweise
Die Standardbetriebssystemüberprüfung des Serverzertifikats wird vor dem Auslösen dieses Ereignisses durchgeführt. Wenn das Zertifikat bei dieser Überprüfung fehlschlägt, wird die Verbindung beendet, und ihr Ereignishandler wird nicht aufgerufen.
Um Teile der Betriebssystemüberprüfung zu überspringen (nicht für Produktionsszenarien empfohlen), verwenden Sie die IgnorableServerCertificateErrors-Eigenschaft , um die Fehler anzugeben, die Sie ignorieren möchten. Solange das Zertifikat keine anderen Fehler aufweist, wird die Betriebssystemüberprüfung als erfolgreich betrachtet, und Ihr Ereignishandler wird aufgerufen.
Der Ereignishandlercode wird als Teil eines synchronen Rückrufs im Betriebssystem während der SSL/TLS-Verbindungsherstellung ausgeführt. Vermeiden Sie die Ausführung von Aufgaben mit langer Ausführung im Ereignishandlercode, um zu verhindern, dass der Server während der Verbindung ein Timeout ausführt.
Wenn Sie in Ihrem Ereignishandlercode asynchrone APIs aufrufen müssen, müssen Sie eine Zurückstellung durchführen (siehe HttpServerCustomValidationArgs.GetDeferral), bevor Sie die asynchronen APIs aufrufen. Wenn Sie fertig sind, rufen Sie die Zurückstellung auf. Complete-Methode zum Zurückgeben von Steuerelementen aus Ihrem Handlercode.
Der folgende Codeausschnitt zeigt, wie Sie dieses Ereignis abonnieren.
HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
var cert = args.ServerCertificate
// Your custom cert validation code here.
}