Доступ к библиотеке классов Azure GetConfigurationSettingValue и web.config - PullRequest
6 голосов
/ 07 февраля 2012

У меня есть библиотека классов, общая для рабочей роли Azure и веб-сайта ASP.NET.Метод в библиотеке должен извлечь значение из конфигурации, чтобы определить, следует ли отправлять электронное письмо или нет.

На сайте ASP.NET параметр находится в web.config:

<add key="SendEmails" value="true"/>

А в рабочей роли Azure он находится в ServiceConfiguration.Cloud.cscfg:

<Setting name="SendEmails" value="true"/>

Я пытаюсь сделать так, чтобы моя библиотека классов имела доступ к любому параметру конфигурации, в зависимости от того, в какой среде он работает.

Ответы [ 3 ]

11 голосов
/ 07 февраля 2012

Создайте свой собственный класс для получения значений конфигурации, и в нем у вас будут такие элементы:верните истину.Для этого потребуется включить сборку / ссылку Microsoft.WindowsAzure.ServiceRuntime в проект ASP.NET.

Я сделал сообщение в блоге на эту тему , если вам нужна дополнительная информация.

4 голосов
/ 25 августа 2014

Теперь это встроенный в последнюю версию Azure SDK.Вы можете использовать метод CloudConfigurationManager.GetSetting ("") , он определяет, работаете ли вы в облаке или нет, и выполняет чтение из одного или другого.Это замена для RoleEnvironment класс Azure.

http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.cloudconfigurationmanager.aspx

Если вы используете nuget, имя пакета nuget будет Microsoft.WindowsAzure.ConfigurationManager

2 голосов
/ 07 февраля 2012

Проверьте RoleEnvironment.IsAvailable.

Вы можете написать быстрый «вспомогательный» класс, который разветвляет логику на основе того, возвращает ли RoleEnvironment.IsAvailable значение true или нет.Например, если true, читать из web.config, а если false, читать из конфигурации облака.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...