Rumah >pembangunan bahagian belakang >Tutorial C#.Net >Apakah penyatuan sambungan dalam C# dan bagaimana untuk melaksanakannya?
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;
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)) { ... }
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)); } }
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!