Язык

IAsyncValidatableObject Интерфейс

Определение

Предоставляет способ асинхронной проверки объекта.

public interface class IAsyncValidatableObject : System::ComponentModel::DataAnnotations::IValidatableObject
public interface IAsyncValidatableObject : System.ComponentModel.DataAnnotations.IValidatableObject
type IAsyncValidatableObject = interface
    interface IValidatableObject
Public Interface IAsyncValidatableObject
Implements IValidatableObject
Реализации

Комментарии

Если объект реализуетIAsyncValidatableObject, асинхронные API (напримерTryValidateObjectAsync(Object, ValidationContext, ICollection<ValidationResult>, CancellationToken), ) вызывают только ValidateAsync(ValidationContext, CancellationToken); Validate(ValidationContext) не вызывается в асинхронном Validator пути. Синхронные Validator API продолжают вызываться Validate(ValidationContext).

Предоставьте синхронную реализацию Validate(ValidationContext) , когда она может оценить применимые правила, возвращая ошибки проверки для правил, отклоняющих объект. Если необходимое правило применяется, но не может быть синхронно оценено, вызов с InvalidOperationException помощью вызывающих сообщений в асинхронную точку входа проверки.

Возврат ошибок проверки без оценки правила подходит только в том случае, если правило не применяется. Не возвращайте пустой результат просто потому, что необходимая асинхронная проверка применяется, но не может выполняться синхронно. Пустой результат не указывает на ожидание проверки или упорядочение последующего асинхронного вызова.

Не реализуйте Validate(ValidationContext) , блокируя асинхронную работу или асинхронно перечисляемые результаты.

Методы

Имя. Описание
Validate(ValidationContext)

Определяет, является ли указанный объект допустимым.

(Унаследовано от IValidatableObject)
ValidateAsync(ValidationContext, CancellationToken)

Определяет, является ли указанный объект допустимым асинхронно, возвращая результаты проверки по завершении каждой проверки.

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