DataReaderExtensions.GetFieldValueAsync<T> 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.
Secara asinkron mendapatkan nilai kolom yang ditentukan sebagai jenis yang diminta.
public static System.Threading.Tasks.Task<T> GetFieldValueAsync<T> (this System.Data.Common.DbDataReader reader, string name, System.Threading.CancellationToken cancellationToken = default);
static member GetFieldValueAsync : System.Data.Common.DbDataReader * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'T>
<Extension()>
Public Function GetFieldValueAsync(Of T) (reader As DbDataReader, name As String, Optional cancellationToken As CancellationToken = Nothing) As Task(Of T)
Jenis parameter
- T
Jenis nilai yang akan dikembalikan.
Parameter
- reader
- DbDataReader
Pembaca data untuk mendapatkan nilai kolom.
- name
- String
Nama kolom.
- cancellationToken
- CancellationToken
Token opsional untuk membatalkan operasi asinkron.
Mengembalikan
Tugas yang Result berisi nilai kolom yang ditentukan.
Pengecualian
Koneksi terputus atau ditutup selama pengambilan data.
-atau-
Pembaca data ditutup selama pengambilan data.
-atau-
Tidak ada data yang siap dibaca (misalnya, yang pertama Read() belum dipanggil, atau dikembalikan false
).
-atau-
Mencoba membaca kolom yang dibaca sebelumnya dalam mode berurutan.
-atau-
Ada operasi asinkron yang sedang berlangsung. Ini berlaku untuk semua metode Get_*_ saat berjalan dalam mode berurutan, karena dapat dipanggil saat membaca aliran.
Nama yang ditentukan bukan nama kolom yang valid.
Nilai yang dikembalikan oleh database tidak cocok atau tidak dapat ditransmisikan ke T
.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Keterangan
Metode asinkron ini hanya diperlukan untuk menghindari pemblokiran utas panggilan ketika pembaca dibuat dalam mode berurutan.
Jika mode berurutan tidak ditentukan, semua nilai kolom harus tersedia dalam memori setiap kali ReadAsync selesai, dan memanggil versi sinkron metode tidak boleh memblokir utas panggilan.
Implementasi default metode asinkron ini memanggil rekan sinkronnya dan mengembalikan Tugas yang telah selesai, yang berpotensi memblokir utas panggilan. Implementasi default juga mengembalikan tugas yang dibatalkan jika melewati token pembatalan yang sudah dibatalkan.
Penyedia data yang mendukung pemrograman asinkron harus mengambil alih inmplementasi default menggunakan operasi I/O asinkron.
Metode ini menerima token pembatalan yang dapat digunakan untuk meminta operasi dibatalkan lebih awal. Implementasi dapat mengabaikan permintaan ini.
Metode dan properti lain dari objek DbDataReader tidak boleh dipanggil saat Tugas yang dikembalikan belum selesai.