ASP.NET Core внедрява микроуслуги, трябва да се справите с проблема с центъра за конфигурация. Независимо дали е микросервис или не, много е трудно да се променя конфигурационният файл един по един с повече възли, а днес ще споделя леко решение за център за конфигурация, базирано на Consul. Горещите ъпдейти на профилите се постигат без пренареждане.
фон
Обикновено конфигурациите в .NET приложенията се съхраняват в конфигурационни файлове, като App.config, Web.config или appsettings.json. Започвайки с ASP.Net Core, се появи нова разширяема конфигурационна рамка, която позволяваше конфигурациите да се съхраняват извън конфигурационните файлове и да се извличат от командния ред, променливите на околната среда и други.
В традиционните проекти модифицирането на конфигурационните файлове изисква влизане в производствената среда за модификация, което не е удобно за поддръжка и управление, когато има много проекти.
Затова използваме Consul, за да конфигурираме онлайн в реално време, което постига целта за реакция в реално време само чрез промяна на конфигурацията без рестартиране на услугата. Идеята за имплементация се базира на ключа/стойността на Consul, а множество възли Consul могат автоматично да се синхронизират и конфигурират, а нашата програма е да реализира ConfigurationProvider и да слуша за промени в Consul.
Конфигурация на консул
За изтегляне и инсталация можете да се обърнете към:
ASP.NET Конфигурация на ядрото
Първо, инсталирайте nuget пакета със следната команда:
Модифицирайте Program.cs файла със следния код:
За повече информация относно Configuration, моля, вижте в:
Входът към хиперлинк е видим.
Конфигурирайте адреса на консулския сервизен център и модифицирайте appsettings.json файла по следния начин:
Кодът на контролера е следният:
Започнете проекта, както е показано по-долу:
Тъй като ние в Consul не конфигурираме стойността на теста, fetch-ът е празен.
Отвори гоВходът към хиперлинк е видим.Конфигурирайте файловете, необходими за проекта.
Профилният адрес, който проектът прочете, е:
"/WebApplication1/appsettings. Development.json" Затова трябва да създадем нова папка "WebApplication1" и "appsettings". Development.json", както е показано по-долу:
Стойността е следната:
След като запазим, обновяваме уебсайта, както е показано по-долу:
Тествах китайски йероглифи без проблеми, както е показано по-долу:
Вижда се, че стойността на теста е успешно получена, което реализира функцията за динамична конфигурация, а конфигурационният файл се актуализира горещо без рестартиране на уебсайта. |