Azure类库访问GetConfigurationSettingValue与web.config

Cod*_*rue 6 c# class-library azure

我有一个Azure工作者角色和ASP.NET网站之间共享的类库.库中的方法需要从配置中提取值以确定它是否应该发送电子邮件.

在ASP.NET站点中,设置位于web.config中:

<add key="SendEmails" value="true"/>
Run Code Online (Sandbox Code Playgroud)

在Azure辅助角色中,它位于ServiceConfiguration.Cloud.cscfg中:

<Setting name="SendEmails" value="true"/>
Run Code Online (Sandbox Code Playgroud)

我想要做的是让我的类库能够访问任一配置设置,具体取决于它运行的环境.

Bre*_*key 11

创建自己的类来检索配置值,在其中你将有这样的项目:

if (RoleEnvironment.IsAvailable)
 return RoleEnvironment.GetConfigurationSettingValue("mySetting");
else
 return ConfigurationManager.AppSettings["mySetting"].ToString();
Run Code Online (Sandbox Code Playgroud)

RoleEnvironment.IsAvailable将检测是否应检测您是否在Windows Azure结构中并返回true.它将要求您在ASP.NET项目中包含Microsoft.WindowsAzure.ServiceRuntime程序集/引用.

如果您想了解更多信息,我就此主题撰写了博客文章.

  • 我有一些代码以相同的方式工作,但具有流畅的界面.https://github.com/SyntaxC4/WindowsAzureConnectionStringResolver/blob/master/ConnectionStringResolver.cs (2认同)