AsyncValidationAttribute.GetValidationResultAsync 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.
Verifica se l'oggetto specificato value è valido in modo asincrono rispetto all'attributo di convalida corrente senza generare un oggetto ValidationException.
public System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult?> GetValidationResultAsync(object? value, System.ComponentModel.DataAnnotations.ValidationContext validationContext, System.Threading.CancellationToken cancellationToken = default);
member this.GetValidationResultAsync : obj * System.ComponentModel.DataAnnotations.ValidationContext * System.Threading.CancellationToken -> System.Threading.Tasks.Task<System.ComponentModel.DataAnnotations.ValidationResult>
Public Function GetValidationResultAsync (value As Object, validationContext As ValidationContext, Optional cancellationToken As CancellationToken = Nothing) 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.
Eccezioni
L'attributo corrente non è valido.
Quando validationContext è null.
L'operazione di convalida è stata annullata.
Commenti
L'implementazione sottostante IsValidAsync(Object, ValidationContext, CancellationToken) deve osservare il lavoro fornito cancellationToken e arrestarlo tempestivamente quando viene richiesto l'annullamento. L'infrastruttura di convalida attende tutte le attività di convalida avviate prima della restituzione, pertanto un'implementazione che ignora l'annullamento può ritardare l'errore e il corto circuito.
I chiamanti che devono associare il tempo di convalida devono passare un token configurato per annullare dopo un timeout, ad esempio uno da un CancellationTokenSource configurato con CancelAfter(TimeSpan).