Does RoleEnvironment.GetConfigurationSettingValue читается каждый раз из cfg файла?
Параметр azure role очень полезен, так как позволяет вам изменять значения на лету, пока работает IIS. Но проблема в том, что если у вас много пользователей, и если он читает каждый раз значение конфигурации из файла, использовать его не рекомендуется, не ставя его в статическую переменную. Следующая проблема, если вы поместите ее в старую переменную , тогда вы должны reset IIS каждый раз, когда вы ее изменяете. Я провел некоторое исследование и нашел аналогичный вопрос в stackoverflow, который говорит, что только первый раз читает conf на файле, а затем хранит его в кеше. Но на этот вопрос ответили ConfigurationManager, мой вопрос о RoleManager от Azure.
Это строка, которая получает текущую настройку на azure:
RoleEnvironment.GetConfigurationSettingValue("Appname.settingKey");
Это тот, который сохраняет его в кеше, который я знаю, как он работает, и получает текущую настройку, например: connectionstring в webconfig:
ConfigurationManager.ConnectionStrings["SettingKey"].ConnectionString;
Ответы
Ответ 1
https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironment.changed.aspx
Вот ссылка для изменения.
Если вы следуете типам вниз, вы можете перейти к:
https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironmentchange.aspx
который является типом, отправленным в событие "Изменено" для изменений вообще.
В частности, это обновление значения конфигурации:
https://msdn.microsoft.com/en-us/library/azure/microsoft.windowsazure.serviceruntime.roleenvironmentconfigurationsettingchange.aspx
Здесь перечислены параметры, которые были изменены. Обратите внимание, что он НЕ включает значения, которые были изменены, только имена параметров, это связано с тем, что событие Changed также сбрасывает кеш конфигурации, поэтому вы читаете его снова, так как произошли изменения.
Ответ 2
Он не будет считывать конфигурацию каждый раз, когда вы запрашиваете значение. Значения конфигурации будут обновлены в событиях RoleEnvironment.Changed.