CloudConfigurationManager vs WebConfigurationManager?
На веб-сайтах Azure я всегда использовал следующий код для извлечения некоторых значений из настроек конфигурационного приложения:
string property = WebConfigurationManager.AppSettings["property"];
Всего пару дней назад я столкнулся с CloudConfigurationManager, и с ним я могу получить свойство следующим образом:
string property = CloudConfigurationManager.GetSetting("property");
Несмотря на то, что CloudConfigurationManager кажется лучше приспособленным к облачному использованию, у меня никогда не было проблем с WebConfigurationManager.
- Должен ли я использовать CloudConfigurationManager?
- В чем разница между этими двумя?
- В каких случаях CloudConfigurationManager будет вести себя отличным от
WebConfigurationManager?
Ответы
Ответ 1
CloudConfigurationManager позволяет нам читать файл конфигурации независимо от среды, в которой мы находимся.
Итак, вместо того, чтобы писать специальные инструкции кода среды, например, для файла web.config:
WebConfigurationManager.AppSettings [ "MySetting" ]
Для файла ServiceConfiguration.cscfg:
RoleEnvironment.GetConfigurationSettingValue( "MySetting" )
Мы можем написать инструкцию ниже, которая будет считывать значения из всех файлов конфигурации, то есть app.config, web.config и ServiceConfiguration.cscfg.
CloudConfigurationManager.GetSetting( "MySetting" )
Ответ 2
WebConfigurationManager и CloudConfigurationManager управлять различными конфигурационными файлами.
WebConfigurationManager предназначен для управления файлами веб-сайта web.config и его строками настроек и подключений
CloudConfigurationManager предназначен для управления файлами .cscfg(для облачных сервисов). Его преимущество в том, что вы можете напрямую управлять конфигурациями и соединениями с лазурным порталом.
Ответ 3
CloudConfigurationManager требуется сборка Microsoft.WindowsAzure.Configuration, часть Azure SDK или отдельный NuGet.
WebConfigurationManager требуется сборка System.Web.Configuration, часть .NET Framework.
Ответ 4
Я думаю, вам лучше использовать WebConfigurationManager.
С его помощью у вас есть доступ к ConnectionStrings, а также AppSettings.
Оба набора настроек вы можете обновить через Azure Portal. Затем они могут быть использованы в других средствах/услугах Azure, например при настройке резервного копирования веб-сайта.
Проверьте это для получения дополнительной информации: https://azure.microsoft.com/en-us/blog/windows-azure-web-sites-how-application-strings-and-connection-strings-work/