AsyncValidationAttribute.IsValidAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Eseguire l'override di questo metodo nelle sottoclassi per implementare la logica di convalida asincrona.
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)
Parametri
- value
- Object
Valore da convalidare.
- validationContext
- ValidationContext
ValidationContext Istanza di che fornisce contesto sull'operazione di convalida, ad esempio l'oggetto e il membro da convalidare. Fornisce l'accesso ai servizi necessari per eseguire la convalida tramite IServiceProvider.
- cancellationToken
- CancellationToken
Oggetto CancellationToken da osservare durante l'attesa del completamento dell'attività.
Valori restituiti
Oggetto Task<TResult> che rappresenta l'operazione di convalida asincrona.
Quando la convalida è valida, il risultato è Success.
Se la convalida non è valida, il risultato è un'istanza di ValidationResult.
Commenti
Questo metodo deve eseguire tutti i controlli applicabili, inclusi i controlli che possono essere eseguiti in modo sincrono. L'implementazione sincrona IsValid(Object, ValidationContext) non viene richiamata automaticamente prima di questo metodo. Condividere controlli comuni tramite un helper quando necessario.
Le implementazioni devono osservare il lavoro fornito cancellationToken e arrestarlo tempestivamente quando viene richiesto l'annullamento. L'infrastruttura di convalida potrebbe annullare questo token dopo un errore di convalida per arrestare i validator di pari livello e attende tutte le attività di convalida avviate prima della restituzione. Un'implementazione che ignora l'annullamento può ritardare l'errore e il corto circuito.