HttpBaseProtocolFilter.ServerCustomValidationRequested Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Это событие возникает при установке соединения SSL/TLS с сервером. Следует реализовать обработчик событий для этого события, если необходимо выполнить дополнительную проверку (в дополнение к стандарту ОС) SSL-сертификата сервера.
// 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)
Тип события
Требования к Windows
Семейство устройств |
Windows 10 Anniversary Edition (появилось в 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v3.0)
|
Комментарии
Проверка сертификата сервера по умолчанию выполняется перед вызовом этого события. Если сертификат не проходит эту проверку, подключение завершается и обработчик событий не вызывается.
Чтобы пропустить части проверки ОС (не рекомендуется для рабочих сценариев), используйте свойство IgnorableServerCertificateErrors , чтобы указать ошибки, которые необходимо игнорировать. Если в сертификате нет других ошибок, проверка ОС будет считаться успешной и будет вызван обработчик событий.
Код обработчика событий выполняется в рамках синхронного обратного вызова в ОПЕРАЦИОННОй системе во время установки ssl/TLS-подключения. Избегайте выполнения длительных задач в коде обработчика событий, чтобы предотвратить время ожидания сервера во время подключения.
Если необходимо вызвать асинхронные API в коде обработчика событий, необходимо выполнить отсрочку (см. httpServerCustomValidationArgs.GetDeferral) перед вызовом асинхронных API. Завершив, вызовите отсрочку. Метод Complete для возврата управления из кода обработчика.
В следующем фрагменте кода показано, как подписаться на это событие.
HttpBaseProtocolFilter.ServerCustomValidationRequest += (sender, args) =>
{
var cert = args.ServerCertificate
// Your custom cert validation code here.
}