Freigeben über


HttpBaseProtocolFilter.ServerCustomValidationRequested Ereignis

Definition

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.
}

Gilt für: