Bagikan melalui


DbConnection.CloseAsync Metode

Definisi

Secara asinkron menutup koneksi ke database.

public:
 virtual System::Threading::Tasks::Task ^ CloseAsync();
public virtual System.Threading.Tasks.Task CloseAsync ();
abstract member CloseAsync : unit -> System.Threading.Tasks.Task
override this.CloseAsync : unit -> System.Threading.Tasks.Task
Public Overridable Function CloseAsync () As Task

Mengembalikan

mewakili Task operasi asinkron.

Keterangan

Implementasi default metode asinkron ini mendelegasikan ke rekan sinkronnya dan mengembalikan yang selesai Task, berpotensi memblokir utas panggilan.

Penyedia data yang mendukung pemrograman asinkron harus mengambil alih implementasi default menggunakan operasi I/O asinkron.

Metode Close dan CloseAsync mengembalikan transaksi yang tertunda. Mereka kemudian melepaskan koneksi ke kumpulan koneksi, atau menutup koneksi jika pengumpulan koneksi dinonaktifkan.

Aplikasi dapat memanggil Close atau CloseAsync lebih dari satu kali. Tidak ada pengecualian yang dihasilkan.

DbConnection Jika keluar dari cakupan, itu tidak ditutup. Oleh karena itu, Anda harus secara eksplisit menutup koneksi dengan memanggil Close atau Dispose, yang secara fungsional setara. Jika nilai Pooling pengumpulan koneksi diatur ke true atau yes, ini juga merilis koneksi fisik.

Perhatian

Jangan menutup atau membuang DbConnection, , DbDataReaderatau objek terkelola lainnya dalam Finalize metode kelas Anda. Dalam finalizer, Anda hanya boleh merilis sumber daya yang tidak dikelola yang dimiliki kelas Anda secara langsung. Jika kelas Anda tidak memiliki sumber daya yang tidak dikelola, jangan sertakan metode Finalize dalam definisi kelas Anda. Untuk informasi lebih lanjut, lihat Pengumpulan Sampah.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Close().

Berlaku untuk