Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 63300|Jawab: 7

[Inti .NET] ADO.NET Membuat kumpulan koneksi SqlConnection melalui ObjectPool

[Salin tautan]
Dipaparkan pada 2020-4-19 18:51:31 | | | |
ObjectPool adalah fitur baru dari Microsoft, Microsoft membantu kami memelihara beberapa objek yang dapat digunakan kembali.

Sederhananya, mirip dengan sepeda bersama, saat Anda menggunakannya, pindai kode untuk membukanya, kendaraan berarti sedang ditempati, saat Anda menggunakannya, saat Anda mengunci mobil, kendaraan akan melepaskan hunian. Pekerjaan dan pelepasan ini semuanya dikelola oleh platform untuk kami.

Beberapa objek tidak aman untuk utas, tetapi setiap kali kita membuat instance objek, kita perlu menggunakan beberapa sumber daya.

Penjelasan terperinci tentang Kumpulan Objek di .NET Core
https://www.itsvse.com/thread-9152-1-1.html
(Sumber: Architect_Programmer)
Pertama, kita membuat kelas SqlConnectionPooledObjectPolicy baru yang mewarisi antarmuka IPooledObjectPolicy<T>, dan perlu mengimplementasikan dua metodenya.

Cara membuat instance objek dalam metode Create,Return menunjukkan apakah objek masih dapat digunakan kembali, dan ketika false dikembalikan, objek akan dihapus dari kumpulan objek.

Kode sumber pengujian adalah sebagai berikut:

Hasil tes adalah sebagai berikut:



Dapat dilihat bahwa kumpulan koneksi sedikit lebih lambat pada 10 kueri pertama, dan setelah itu, lebih cepat daripada setiap instansiasi SqlConnection.

Terlampir adalah kode sumber

Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakanJawab






Mantan:Program C# menjalankan kelas pengujian yang memakan waktu
Depan:Konfigurasi Trusted_Connection MSSQL
Dipaparkan pada 2020-4-19 21:58:46 |
Ini adalah sesuatu yang baru
Dipaparkan pada 2020-4-30 13:05:18 |
Datang dan lihat, dukungan, sofa
 Tuan tanah| Dipaparkan pada 2021-3-22 15:31:43 |
Kode sumber DefaultObjectPoolProvider
Lingkungan Default Maksimum yang Dipertahankan.ProcessorCount * 2;





 Tuan tanah| Dipaparkan pada 2021-3-22 15:34:51 |
Itu juga bisa ditulis langsung


 Tuan tanah| Dipaparkan pada 2021-3-23 09:50:57 |
Kode pengujian:

maximumRetained diatur ke 5, dan pengujian hanya dibuat-contoh sekali ketika dikembalikan setiap kali digunakan, seperti yang ditunjukkan pada gambar di bawah ini:



Jika tidak kembali, Tes di-instance 10 kali, meskipun melebihi pengaturan maksimumRetained 5, dan tidak akan melemparkan pengecualian, mungkin setelah penggunaan selesai, perlahan-lahan akan mendaur ulangnya, dan kemudian hanya 5 instance yang akan disimpan:


 Tuan tanah| Dipaparkan pada 2021-3-24 18:23:44 |
Kumpulan Koneksi SQL Server (ADO.NET)

Setiap kali pengguna memanggil Buka pada koneksi, proses kumpulan mencari koneksi yang tersedia di kumpulan. Jika koneksi kumpulan tersedia, koneksi tersebut dikembalikan ke pemanggil, bukan membuka koneksi baru. Saat aplikasi memanggil Tutup pada koneksi tersebut, proses kumpulan mengembalikan koneksi ke kumpulan koneksi aktif alih-alih menutup koneksi.

https://docs.microsoft.com/zh-cn ... -connection-pooling

Dipaparkan pada 2021-8-17 10:13:07 |
Belajar belajar
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com