объем памяти для asp.net конфигурация значков ядра

#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() будет сделано автоматически, если значения хранилища ключей изменились или нам нужно сделать это с помощью некоторого кода / настроек. Не могли бы вы продолжить это?