#asp.net #c #azure
#asp.net #c #azure
Вопрос:
Если я перемещаю настройки конфигурации из своего Web.config в Aazure ServiceConfiguration.cscfg, нужно ли мне вносить какие-либо изменения в код
Например, у меня есть следующие записи в моем Web.config
<ConfigurationSettings>
<Setting name="webConfigHostName" value="Test.AzureTest" />
</ConfigurationSettings>
Чтобы прочитать приведенную выше запись, я использую
string myHostName=MyEnvironmentWrapper.GetConfigurationSettingValue("webConfigHostName");
Теперь я хочу переместить свое веб-приложение в облачную среду Azure
Итак, я планирую переместить вышеуказанные записи web.config в мой ServiceConfiguration.csfg После этого мне нужно внести какие-либо изменения в код, чтобы мое приложение могло читать «webConfigHostName» непосредственно из моего ServiceConfiguration.csfg
Ответ №1:
Я боюсь (в старые времена, см. Ниже), что вы сделали:
if (RoleEnvironment.IsAvailable)
{
return RoleEnvironment.GetConfigurationSettingValue("mySetting");
}
else
{
return ConfigurationManager.AppSettings["mySetting"].ToString();
// or whatever your configuration system requires
}
Здесь и здесь есть несколько отличных сообщений об этом.
В итоге мы написали собственную оболочку вокруг этого, чтобы сделать наше приложение независимым, поэтому в нашем коде мы используем статический Configuration.GetValue()
. Быстрый глобальный поиск и замена, и мы ушли.
РЕДАКТИРОВАТЬ: Сегодня это проще: см. Ссылку MSDN для CloudConfigurationManager .
Комментарии:
1. это отлично работает. Я создал проект на GitHub, который использует свободный интерфейс для создания этих изменений конфигурации. Со временем я буду обновлять его, чтобы также помочь с настройками приложений. github.com/SyntaxC4/WindowsAzureConnectionStringResolver
2. Теперь это поддерживается (с июня 2012 года) в Azure SDK: msdn.microsoft.com/en-us/LIBRARY /…
3. О, прекрасно! Я внес изменения в свой ответ. Спасибо.