Nyelv

AsyncValidationAttribute.GetValidationResultAsync Metódus

Definíció

Annak tesztelése, hogy a megadott value aszinkron módon érvényes-e az aktuális érvényesítési attribútumra vonatkozóan anélkül, hogy egy 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)

Paraméterek

value
Object

Az érvényesítendő érték.

validationContext
ValidationContext

Egy ValidationContext példány, amely kontextust biztosít az érvényesítési műveletről, például az érvényesítendő objektumról és tagról. Hozzáférést biztosít az ellenőrzés végrehajtásához szükséges szolgáltatásokhoz a következő használatával IServiceProvider: .

cancellationToken
CancellationToken

A CancellationToken megfigyelendő, miközben a feladat befejezésére vár.

Válaszok

Az Task<TResult> aszinkron érvényesítési műveletet jelképező művelet.

Ha az ellenőrzés érvényes, az eredmény a következő Successlesz: .

Ha az ellenőrzés érvénytelen, az eredmény a következő példánya ValidationResult: .

Kivételek

Az aktuális attribútum helytelenül van formázva.

Mikor validationContext van.null

Az érvényesítési művelet megszakadt.

Megjegyzések

A mögöttes IsValidAsync(Object, ValidationContext, CancellationToken) megvalósításnak figyelemmel kell kísérnie a megadott cancellationToken adatokat, és azonnal le kell állítania a munkát, amikor a lemondást kérik. Az érvényesítési infrastruktúra a visszatérés előtt minden megkezdett érvényesítési feladatot vár, így a lemondást figyelmen kívül hagyó implementáció késleltetheti a meghibásodást és a rövidzárolást.

Azok a hívók, amelyeknek meg kell kötni az érvényesítési időt, át kell adniuk egy olyan jogkivonatot, amelyet úgy konfiguráltak, hogy időtúllépés után szakítsanak meg, például egy olyant, amely CancelAfter(TimeSpan)a CancellationTokenSource konfigurálva van.

A következőre érvényes: