Sprache

AsyncValidationAttribute.GetValidationResultAsync Methode

Definition

Testet, ob das angegebene value Attribut asynchron im Hinblick auf das aktuelle Überprüfungsattribut gültig ist, ohne ein 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)

Parameter

value
Object

Der zu überprüfende Wert.

validationContext
ValidationContext

Eine ValidationContext Instanz, die Kontext zum Überprüfungsvorgang bereitstellt, z. B. das Objekt und das Element, das überprüft wird. Bietet Zugriff auf Dienste, die für die Überprüfung erforderlich sind.IServiceProvider

cancellationToken
CancellationToken

A CancellationToken , um zu beobachten, während sie auf den Abschluss der Aufgabe warten.

Gibt zurück

Eine Task<TResult> Darstellung des asynchronen Überprüfungsvorgangs.

Wenn die Überprüfung gültig ist, lautet Successdas Ergebnis .

Wenn die Überprüfung ungültig ist, ist das Ergebnis eine Instanz von ValidationResult.

Ausnahmen

Das aktuelle Attribut ist falsch formatiert.

Wann validationContext ist null.

Der Überprüfungsvorgang wurde abgebrochen.

Hinweise

Die zugrunde liegende IsValidAsync(Object, ValidationContext, CancellationToken) Implementierung muss die bereitgestellte cancellationToken und beendete Arbeit umgehend beobachten, wenn eine Kündigung angefordert wird. Die Validierungsinfrastruktur wartet vor der Rückgabe auf alle gestarteten Überprüfungsaufgaben, sodass eine Implementierung, die den Abbruch ignoriert, Fehler und Kurzschluss verzögern kann.

Aufrufer, die die Gültigkeitsprüfungszeit binden müssen, sollten ein Token übergeben, das nach einem Timeout, z. B. einer von einem CancellationTokenSource konfigurierten , CancelAfter(TimeSpan)abgebrochen werden soll.

Gilt für: