Язык

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 и остановкой работы при запросе отмены. Инфраструктура проверки может отменить этот маркер после сбоя проверки, чтобы остановить одноуровневые проверяющие элементы и ожидать всех запущенных задач проверки перед возвратом. Реализация, которая игнорирует отмену, может отложить сбой и короткое замыкание.

Применяется к