ASP.NET Core implementuje mikroslužby, musíte riešiť problém konfiguračného centra. Či už ide o mikroservis alebo nie, je veľmi komplikované meniť konfiguračný súbor jeden po druhom s viacerými uzlami, a dnes vám predstavím ľahké riešenie konfiguračného centra založené na Consul. Horúce aktualizácie profilov sa dosahujú bez prepracovávania stránok.
pozadie
Zvyčajne sú konfigurácie v .NET aplikáciách uložené v konfiguračných súboroch, ako sú App.config, Web.config alebo appsettings.json. Začínajúc ASP.Net Core sa objavil nový rozšíriteľný konfiguračný rámec, ktorý umožnil ukladať konfigurácie mimo konfiguračných súborov a získavať ich z príkazového riadku, environmentálnych premenných a ďalších.
V tradičných projektoch si úprava konfiguračných súborov vyžaduje prihlásenie do produkčného prostredia na úpravy, čo nie je pohodlné pre údržbu a správu, keď je veľa projektov.
Preto používame Consul na online konfiguráciu v reálnom čase, čo dosahuje cieľ reagovať v reálnom čase len zmenou konfigurácie bez reštartu služby. Implementačná myšlienka je založená na kľúči/hodnote Consul a viaceré Consul uzly môžu byť automaticky synchronizované a konfigurované, pričom náš program je implementovať ConfigurationProvider a počúvať zmeny Consul.
Konfigurácia konzula
Na stiahnutie a inštaláciu sa môžete pozrieť:
ASP.NET Konfigurácia jadra
Najprv nainštalujte balík nuget pomocou nasledujúceho príkazu:
Upravte Program.cs súbor pomocou nasledujúceho kódu:
Pre viac informácií o Configuration pozrite si:
Prihlásenie na hypertextový odkaz je viditeľné.
Nakonfigurujte adresu servisného centra Consul a upravte appsettings.json súbor nasledovne:
Kód ovládača je nasledovný:
Začnite projekt tak, ako je uvedené nižšie:
Keďže my v Consul nekonfigurujeme hodnotu testu, fetch je prázdny.
Otvorte toPrihlásenie na hypertextový odkaz je viditeľné.Nakonfigurujte súbory potrebné pre projekt.
Profilová adresa prečítaná projektom je:
"/WebApplication1/appsettings. Development.json" Preto potrebujeme vytvoriť nový priečinok "WebApplication1" a "appsettings. Development.json" ako je uvedené nižšie:
Hodnota je nasledovná:
Po uložení obnovíme webovú stránku, ako je uvedené nižšie:
Testoval som čínske znaky bez problémov, ako je uvedené nižšie:
Je vidieť, že hodnota testu je úspešne získaná, čo realizuje dynamickú konfiguračnú funkciu, a konfiguračný súbor je hot-update bez reštartu webovej stránky. |