AsyncValidationAttribute.GetValidationResultAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menguji apakah yang diberikan value valid secara asinkron sehubungan dengan atribut validasi saat ini tanpa melempar .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
Nilai yang akan divalidasi.
- validationContext
- ValidationContext
ValidationContext Instans yang menyediakan konteks tentang operasi validasi, seperti objek dan anggota yang sedang divalidasi. Menyediakan akses ke layanan yang diperlukan untuk melakukan validasi menggunakan IServiceProvider.
- cancellationToken
- CancellationToken
A CancellationToken untuk mengamati sambil menunggu tugas selesai.
Mengembalikan
mewakili Task<TResult> operasi validasi asinkron.
Ketika validasi valid, hasilnya adalah Success.
Ketika validasi tidak valid, hasilnya adalah instans .ValidationResult
Pengecualian
Atribut saat ini salah bentuk.
Kapan validationContext adalah null.
Operasi validasi dibatalkan.
Keterangan
Implementasi yang mendasar IsValidAsync(Object, ValidationContext, CancellationToken) harus mengamati pekerjaan yang disediakan cancellationToken dan berhenti segera ketika pembatalan diminta. Infrastruktur validasi menunggu semua tugas validasi dimulai sebelum kembali, sehingga implementasi yang mengabaikan pembatalan dapat menunda kegagalan dan sirkuit pendek.
Penelepon yang perlu mengikat waktu validasi harus melewati token yang dikonfigurasi untuk membatalkan setelah batas waktu, seperti dari yang dikonfigurasi CancellationTokenSource dengan CancelAfter(TimeSpan).