AsyncValidationAttribute.IsValidAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Переопределите этот метод в подклассах для реализации асинхронной логики проверки.
protected:
abstract System::Threading::Tasks::Task<System::ComponentModel::DataAnnotations::ValidationResult ^> ^ IsValidAsync(System::Object ^ value, System::ComponentModel::DataAnnotations::ValidationContext ^ validationContext, System::Threading::CancellationToken cancellationToken);
protected abstract System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> IsValidAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken);
abstract member IsValidAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Protected MustOverride Function IsValidAsync (value As Object, validationContext As ValidationContext, cancellationToken As CancellationToken) As Task(Of ValidationResult)
Параметры
- value
- Object
Значение, которое требуется проверить.
- validationContext
- ValidationContext
ValidationContext Экземпляр, предоставляющий контекст операции проверки, например проверяемый объект и член. Предоставляет доступ к службам, необходимым для выполнения проверки с помощью IServiceProvider.
- cancellationToken
- CancellationToken
Необходимо CancellationToken наблюдать за ожиданием завершения задачи.
Возвращаемое значение
Представляет Task<TResult> асинхронную операцию проверки.
Если проверка допустима, результатом является Success.
Если проверка недопустима, результатом является экземпляр ValidationResult.
Комментарии
Этот метод должен выполнять все применимые проверки, включая проверки, которые могут выполняться синхронно. Синхронная IsValid(Object, ValidationContext) реализация не вызывается автоматически перед этим методом. По мере необходимости делитесь общими проверками с помощью вспомогательного средства.
Реализации должны быстро наблюдать за предоставленной cancellationToken и остановкой работы при запросе отмены. Инфраструктура проверки может отменить этот маркер после сбоя проверки, чтобы остановить одноуровневые проверяющие элементы и ожидать всех запущенных задач проверки перед возвратом. Реализация, которая игнорирует отмену, может отложить сбой и короткое замыкание.