#asp.net-core #configuration
#asp.net-core #конфигурация
Вопрос:
в asp.net основное приложение при запуске приложения по умолчанию IConfiguration
заполняются все данные конфигурации из настроек приложений, среды variable..to azure KeyVault.
У меня более 500 конфигурационных данных (большинство из них из Azure KeyVault).
Вопрос в том, каков объем памяти для этого, остается ли он все время в памяти, пока выполняются приложения, замедляет ли это производительность приложения?
Ответ №1:
На мой взгляд, значения остаются в памяти все время, пока выполняется приложение, и это может сделать процесс более надежным и повысить производительность приложения.
Как правило, при запуске приложения .net Core какой-либо службе могут потребоваться эти данные конфигурации, поэтому она будет считывать все данные конфигурации для настройки, а затем, когда вы захотите их использовать, вы можете получить значение из переменной конфигурации. Такой подход делает процесс более надежным, например, используя внедрение зависимостей (DI) для загрузки службы с этими значениями. Кроме того, что касается значения KeyVault, секреты кэшируются до IConfigurationRoot.Вызывается Reload(). Истекшие, отключенные и обновленные секреты в хранилище ключей не учитываются приложением до тех пор, пока не будет выполнена перезагрузка. Более подробную информацию вы можете найти в этой статье:
Поставщик конфигурации хранилища ключей Azure в ASP.NET Ядро
Asp.net Конфигурации хранилища ядра
Комментарии:
1. спасибо @Zhi. Это
IConfigurationRoot.Reload()
будет сделано автоматически, если значения хранилища ключей изменились или нам нужно сделать это с помощью некоторого кода / настроек. Не могли бы вы продолжить это?