AsyncValidationAttribute.IsValidAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zastąpij tę metodę w podklasach, aby zaimplementować logikę walidacji asynchronicznej.
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)
Parametry
- value
- Object
Wartość do zweryfikowania.
- validationContext
- ValidationContext
ValidationContext Wystąpienie, które zawiera kontekst operacji weryfikacji, takie jak obiekt i element członkowski, który jest weryfikowany. Zapewnia dostęp do usług wymaganych do przeprowadzenia walidacji przy użyciu polecenia IServiceProvider.
- cancellationToken
- CancellationToken
Element do CancellationToken obserwowania podczas oczekiwania na ukończenie zadania.
Zwraca
Reprezentująca Task<TResult> operację asynchronicznej weryfikacji.
Gdy walidacja jest prawidłowa, wynik to Success.
Gdy walidacja jest nieprawidłowa, wynikiem jest wystąpienie klasy ValidationResult.
Uwagi
Ta metoda musi wykonać wszystkie odpowiednie kontrole, w tym kontrole, które mogą być uruchamiane synchronicznie. Implementacja synchroniczna IsValid(Object, ValidationContext) nie jest wywoływana automatycznie przed tą metodą. Udostępnianie typowych kontroli za pośrednictwem pomocnika w razie potrzeby.
Implementacje muszą obserwować podaną cancellationToken i zatrzymać pracę natychmiast po żądaniu anulowania. Infrastruktura walidacji może anulować ten token po niepowodzeniu walidacji zatrzymania modułów sprawdzania poprawności elementów równorzędnych i oczekuje na wszystkie uruchomione zadania weryfikacji przed zwróceniem. Implementacja, która ignoruje anulowanie, może opóźnić awarię i zwarcie.