ASP.NET Core mengimplementasikan layanan mikro, Anda harus mengatasi masalah pusat konfigurasi. Apakah itu layanan mikro atau bukan, sangat merepotkan untuk mengubah file konfigurasi satu per satu dengan lebih banyak node, dan hari ini saya akan membagikan solusi pusat konfigurasi ringan berdasarkan Consul. Pembaruan panas ke profil dicapai tanpa lokasi ulang.
latar
Biasanya, konfigurasi dalam aplikasi .NET disimpan dalam file konfigurasi, seperti App.config, Web.config, atau appsettings.json. Dimulai dengan ASP.Net Core, kerangka kerja konfigurasi baru yang dapat diperluas muncul yang memungkinkan konfigurasi disimpan di luar file konfigurasi dan diambil dari baris perintah, variabel lingkungan, dan banyak lagi.
Dalam proyek tradisional, memodifikasi file konfigurasi memerlukan masuk ke lingkungan produksi untuk modifikasi, yang tidak nyaman untuk pemeliharaan dan manajemen ketika ada banyak proyek.
Oleh karena itu, kami menggunakan Consul untuk mengonfigurasi online secara real time, yang mencapai tujuan merespons secara real time hanya dengan mengubah konfigurasi tanpa memulai ulang layanan. Ide implementasi didasarkan pada kunci/nilai Consul, dan beberapa node Consul dapat disinkronkan dan dikonfigurasi secara otomatis, dan program kami adalah mengimplementasikan ConfigurationProvider dan mendengarkan perubahan Consul.
Konfigurasi konsul
Untuk mengunduh dan menginstal, Anda dapat merujuk:
ASP.NET Konfigurasi inti
Pertama, instal paket nuget dengan perintah berikut:
Ubah file Program.cs dengan kode berikut:
Untuk informasi lebih lanjut tentang Konfigurasi, silakan lihat:
Login hyperlink terlihat.
Konfigurasikan alamat pusat layanan Konsul dan ubah file appsettings.json sebagai berikut:
Kode pengontrol adalah sebagai berikut:
Mulai proyek seperti yang ditunjukkan di bawah ini:
Karena kami di Consul tidak mengonfigurasi nilai pengujian, pengambilan kosong.
BukaLogin hyperlink terlihat.Konfigurasikan file yang diperlukan untuk proyek.
Alamat profil yang dibaca oleh proyek adalah:
"/WebApplication1/appsettings. Development.json" Oleh karena itu, kita perlu membuat folder "WebApplication1" baru dan "appsettings. Development.json" seperti yang ditunjukkan di bawah ini:
Nilainya adalah sebagai berikut:
Setelah menyimpan, kami menyegarkan situs web seperti gambar di bawah ini:
Menguji karakter Cina tanpa masalah, seperti yang ditunjukkan di bawah ini:
Dapat dilihat bahwa nilai pengujian berhasil diperoleh, yang mewujudkan fungsi konfigurasi dinamis, dan file konfigurasi diperbarui panas tanpa memulai ulang situs web. |