Melaksanakan ConfigurationSection dengan ConfigurationElementCollection
Dalam senario ini, anda menghadapi pengecualian semasa melaksanakan bahagian konfigurasi tersuai disebabkan salah faham tentang pengendali elemen konfigurasi. Artikel ini bertujuan untuk menjelaskan proses melaksanakan ConfigurationSection dengan ConfigurationElementCollection.
Memahami Pengecualian
Pengecualian yang anda hadapi timbul kerana antara muka IConfigurationSectionHandler ditamatkan dan tidak lagi disokong.
Bahagian Konfigurasi Tersuai
Daripada menggunakan IConfigurationSectionHandler yang telah ditamatkan, anda harus mencipta kelas ConfigurationSection tersuai. Tentukan ia sebagai kelas terbitan ConfigurationSection dan tambahkan pelbagai sifat dan kaedah untuk mengkonfigurasi bahagian tersuai anda. Sebagai contoh, dalam kes ini, ServiceConfigurationSection akan memegang harta koleksi Perkhidmatan.
Custom ConfigurationElementCollection
Untuk menentukan koleksi elemen, cipta kelas ConfigurationElementCollection tersuai. Kelas ini harus mewarisi daripada ConfigurationElementCollection dan melaksanakan kaedah untuk menambah, mengalih keluar dan mengakses elemen. Dalam keadaan ini, anda telah pun menentukan kelas ServiceCollection untuk mengurus koleksi elemen ServiceConfig.
ConfigurationSectionHandler
Antara muka IConfigurationSectionHandler yang ditamatkan tidak digunakan dalam pendekatan ini. Sebaliknya, tentukan kelas yang mewarisi daripada ConfigurationSection dan melaksanakan sifat dan kaedah yang diperlukan untuk mengendalikan bahagian konfigurasi.
Kod Contoh
Berikut ialah contoh kod yang diperlukan:
public class ServiceConfigurationSection : ConfigurationSection { [ConfigurationProperty("Services", IsDefaultCollection = false)] [ConfigurationCollection(typeof(ServiceCollection), AddItemName = "add", ClearItemsName = "clear", RemoveItemName = "remove")] public ServiceCollection Services { get; } } public class ServiceCollection : ConfigurationElementCollection { // ... (your custom element collection logic) }
Mengakses Konfigurasi Data
Untuk mengakses data yang dikonfigurasikan, nyatakan kelas ServiceConfigurationSection dan akses sifatnya, sebagai contoh:
ServiceConfigurationSection section = ConfigurationManager.GetSection("ServicesSection") as ServiceConfigurationSection; ServiceConfig config = section.Services[0];
Dengan mengikut langkah ini, anda boleh berjaya melaksanakan ConfigurationSection tersuai dengan jayanya a ConfigurationElementCollection untuk membaca dan mengurus konfigurasi aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Bahagian Konfigurasi Tersuai dengan ConfigurationElementCollection dalam .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!