ASP.NET Core implementira mikrostoritve, morate rešiti problem konfiguracijskega centra. Ne glede na to, ali gre za mikroservis ali ne, je zelo zahtevno spreminjati konfiguracijsko datoteko eno za drugo z več vozlišči, danes pa bom delil lahko rešitev konfiguracijskega centra, ki temelji na Consulu. Trenutne posodobitve profilov se dosežejo brez ponovnega postavljanja strani.
ozadje
Običajno so konfiguracije v .NET aplikacijah shranjene v konfiguracijskih datotekah, kot so App.config, Web.config ali appsettings.json. Začenši z ASP.Net Core se je pojavil nov razširljiv konfiguracijski okvir, ki je omogočal shranjevanje konfiguracij izven konfiguracijskih datotek in pridobivanje iz ukazne vrstice, okoljskih spremenljivk in drugje.
V tradicionalnih projektih sprememba konfiguracijskih datotek zahteva prijavo v produkcijsko okolje za spremembe, kar ni priročno za vzdrževanje in upravljanje, kadar je projektov veliko.
Zato uporabljamo Consul za konfiguracijo na spletu v realnem času, kar doseže cilj odzivanja v realnem času le z menjavo konfiguracije brez ponovnega zagona storitve. Implementacijska ideja temelji na ključu/vrednosti Consul, več Consul vozlišč pa je mogoče samodejno sinhronizirati in konfigurirati, naš program pa je implementirati ConfigurationProvider in poslušati spremembe Consul.
Konfiguracija konzula
Za prenos in namestitev lahko pogledate:
ASP.NET Konfiguracija jedra
Najprej namestite paket nuget z naslednjim ukazom:
Spremenite Program.cs datoteko z naslednjo kodo:
Za več informacij o Configuration si oglejte:
Prijava do hiperpovezave je vidna.
Konfigurirajte naslov Consul servisnega centra in spremenite datoteko appsettings.json na naslednji način:
Koda krmilnika je naslednja:
Projekt začnite tako, kot je prikazano spodaj:
Ker pri Consulu ne konfiguriramo vrednosti testa, je pridobivanje prazno.
OdpriPrijava do hiperpovezave je vidna.Konfigurirajte datoteke, potrebne za projekt.
Naslov profila, ki ga prebere projekt, je:
"/WebApplication1/appsettings. Development.json" Zato moramo ustvariti novo mapo "WebApplication1" in "appsettings. Development.json" kot je prikazano spodaj:
Vrednost je naslednja:
Po shranjevanju osvežimo spletno stran, kot je prikazano spodaj:
Kitajske znake sem preizkusil brez težav, kot je prikazano spodaj:
Vidimo lahko, da je vrednost testa uspešno pridobljena, kar realizira dinamično konfiguracijsko funkcijo, konfiguracijska datoteka pa se hitro posodobi brez ponovnega zagona spletne strani. |