Azure Web/Worker 角色读取配置设置

26

最佳/推荐的读取工作角色/网络角色设置的方法是什么?

是这样吗:

CloudConfigurationManager.GetSetting("ConnectionString") (我正在使用这个)

还是

RoleEnvironment.GetConfigurationSettingValue("ConnectionString")

虽然两者都可以正常工作...

输入图像描述

1个回答

40
CloudConfigurationManager.GetSetting 的文档中可以得知:
GetSetting 方法会从适当的配置存储中读取配置设置值。如果应用程序作为 .NET Web 应用程序运行,则 GetSetting 方法将从 Web.config 或 app.config 文件返回设置值。如果应用程序运行在 Windows Azure 云服务或 Windows Azure 网站中,则 GetSetting 将从 ServiceConfiguration.cscfg 返回设置值。
由上可知,函数 CloudConfigurationManager.GetSetting 根据应用程序运行的位置来读取服务配置文件(ServiceConfiguration.cscfg)或应用程序配置文件(App.config/Web.config)。 RoleEnvironment.GetConfigurationSettingValue 只会从服务配置文件中读取。
如果您的应用程序组件在云和非云应用程序中都使用,则使用CloudConfigurationManager.GetSetting,这样您就不必更改代码。如果您的组件仅在云中运行,则可以使用任何一个。

5
我建议使用 CloudConfigurationManager,避免使用 RoleEnvironment。RE位于一个不支持Nuget的库中,即 Microsoft.WindowsAzure.ServiceRuntime :( - Jaider
第一个链接是404(非友好URL为https://msdn.microsoft.com/en-us/library/azure/mt634649.aspx) - leppie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接