Rumah > pembangunan bahagian belakang > Tutorial C#.Net > Apakah penyatuan sambungan dalam C# dan bagaimana untuk melaksanakannya?

Apakah penyatuan sambungan dalam C# dan bagaimana untuk melaksanakannya?

王林
Lepaskan: 2023-09-04 12:25:09
ke hadapan
1238 orang telah melayarinya

C# 中的连接池是什么以及如何实现?

Ia digunakan untuk mengimport ruang nama (atau mencipta alias untuk ruang nama atau jenis).

Ia terletak di bahagian atas fail, sebelum sebarang pengisytiharan.

using System;
using System.IO;
using WinForms = global::System.Windows.Forms;
using WinButton = WinForms::Button;
Salin selepas log masuk

Pernyataan menggunakan memastikan Dispose() akan dipanggil walaupun pengecualian berlaku semasa mencipta objek, memanggil kaedah, harta, dsb. Dispose() ialah kaedah yang disediakan dalam antara muka IDisposable yang membantu melaksanakan pengumpulan sampah tersuai. Dalam erti kata lain, jika kami melakukan beberapa operasi pangkalan data (masukkan, kemas kini, padam) dan atas sebab tertentu pengecualian berlaku, maka pernyataan menggunakan di sini akan menutup sambungan secara automatik. Tidak perlu memanggil kaedah sambungan Close() secara eksplisit di sini.

Satu lagi faktor penting ialah ia membantu penyatuan sambungan. Pengumpulan sambungan dalam .NET membantu menghapuskan penutupan sambungan pangkalan data beberapa kali. Ia menghantar objek sambungan ke kolam untuk kegunaan masa hadapan (panggilan pangkalan data seterusnya). Kali seterusnya sambungan pangkalan data dipanggil daripada aplikasi, kumpulan sambungan akan mendapat objek yang tersedia dalam kolam. Oleh itu ia membantu meningkatkan prestasi aplikasi. Jadi apabila kita menggunakan pernyataan menggunakan, pengawal secara automatik menghantar objek ke kumpulan sambungan tanpa memanggil kaedah Close() dan Dispose() secara eksplisit.

using (Stream input = File.OpenRead(filename)) {
   ...
}
Salin selepas log masuk

Contoh

string connString = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;";
using (SqlConnection conn = new SqlConnection(connString)) {
   SqlCommand cmd = conn.CreateCommand();
   cmd.CommandText = "SELECT CustomerId, CompanyName FROM Customers";
   conn.Open();

   using (SqlDataReader dr = cmd.ExecuteReader()) {
      while (dr.Read())
      Console.WriteLine("{0}\t{1}", dr.GetString(0), dr.GetString(1));
   }
}
Salin selepas log masuk

Dalam kod di atas kami tidak menutup sebarang sambungan, ia akan ditutup secara automatik. Oleh kerana pernyataan menggunakan, pernyataan menggunakan secara automatik akan memanggil conn.Close()

(menggunakan (SqlConnection conn = new SqlConnection(connString)) , perkara yang sama berlaku untuk objek SqlDataReader. Dan sambungan akan ditutup secara automatik jika berlaku sebarang pengecualian .

Atas ialah kandungan terperinci Apakah penyatuan sambungan dalam C# dan bagaimana untuk melaksanakannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan