Подтвердить что ты не робот

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;
4b9b3361

Ответ 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.