ASP.NET Core mikroservisler uygularsa, yapılandırma merkezi sorununu ele almalısınız. Mikroservis olsun ya da olmasın, yapılandırma dosyasını tek tek daha fazla düğümle değiştirmek çok zahmetli ve bugün Consul tabanlı hafif bir yapılandırma merkezi çözümünü paylaşacağım. Profillerde sıcak güncellemeler yeniden konumlanmadan sağlanır.
arka plan
Genellikle, .NET uygulamalarındaki yapılandırmalar App.config, Web.config veya appsettings.json gibi yapılandırma dosyalarında saklanır. ASP.Net Core ile başlayarak, yapılandırmaların yapılandırma dosyalarının dışında depolanmasına ve komut satırından, ortam değişkenlerinden ve daha fazlasından alınmasına olanak tanıyan yeni genişletilebilir bir yapılandırma çerçevesi ortaya çıktı.
Geleneksel projelerde, yapılandırma dosyalarını değiştirmek, modifikasyon için üretim ortamına giriş yapmayı gerektirir; bu da birçok proje olduğunda bakım ve yönetim için uygun değildir.
Bu nedenle, Consul'u çevrimiçi yapılandırma için kullanıyoruz; bu da hizmeti yeniden başlatmadan yapılandırmayı değiştirerek gerçek zamanlı yanıt verme hedefine ulaşır. Uygulama fikri Consul'un anahtarı/değerine dayanıyor ve birden fazla Consul düğümü otomatik olarak senkronize edilip yapılandırılabiliyor; programımız ise ConfigurationProvider'ı uygulamak ve Consul değişikliklerini dinlemek.
Konsolos yapılandırması
İndirme ve kurulum için şu adreslere başvurabilirsiniz:
ASP.NET Çekirdek yapılandırması
İlk olarak, nuget paketini aşağıdaki komutla kurun:
Program.cs dosyasını aşağıdaki kodla değiştirin:
Konfigürasyon hakkında daha fazla bilgi için lütfen şu adrese bakınız:
Bağlantı girişi görünür.
Konsolos hizmet merkezi adresini yapılandırın ve appsettings.json dosyasını aşağıdaki şekilde değiştirin:
Kontrolör kodu şöyledir:
Projeye aşağıda gösterildiği gibi başlayın:
Biz Consul olarak test değerini yapılandırmadığımız için fetch boş.
AçBağlantı girişi görünür.Proje için gereken dosyaları yapılandırın.
Proje tarafından okunan profil adresi şöyledir:
"/WebApplication1/appsettings. Development.json" Bu nedenle, yeni bir "WebApplication1" klasörü ve "appsettings" oluşturmamız gerekiyor. Development.json" dosyası aşağıda gösterildiği gibi:
Değer şu şekildedir:
Kaydettikten sonra, web sitesini aşağıda gösterildiği gibi yeniliyoruz:
Çin karakterleri sorunsuz test edildi, aşağıda gösterildiği gibi:
Test değerinin başarıyla elde edildiği, dinamik yapılandırma fonksiyonunun gerçekleştiği ve yapılandırma dosyasının web sitesini yeniden başlatmadan sıcak güncellendiği görülebilir. |