CloudConfigurationManager 与 WebConfigurationManager 对比?

CloudConfigurationManager vs WebConfigurationManager?

在 Azure 网站中,我总是使用以下代码从配置的应用程序设置中获取一些值:

string property = WebConfigurationManager.AppSettings["property"];  

就在几天前,我偶然发现了 CloudConfigurationManager,有了它我可以像这样得到 属性:

string property = CloudConfigurationManager.GetSetting("property"); 

尽管 CloudConfigurationManager 似乎更适合云使用,但我从未遇到过 WebConfigurationManager 的任何问题。

WebConfigurationManagerCloudConfigurationManager 管理不同的配置文件。

WebConfigurationManager 用于管理网站的 web.config 文件及其应用设置和连接字符串

CloudConfigurationManager 用于管理 .cscfg 文件(用于云服务)。他的好处是您可以直接从 Azure 门户管理配置和连接。

CloudConfigurationManager 需要 Microsoft.WindowsAzure.Configuration 程序集,Azure SDK 的一部分或单独的 NuGet。

WebConfigurationManager 需要 System.Web.Configuration 程序集,.NET Framework 的一部分。

CloudConfigurationManager 让我们无论在什么环境下都可以读取配置文件。

因此,与其编写特定于环境的代码语句,例如 web.config 文件:

WebConfigurationManager.AppSettings["MySetting"]

ServiceConfiguration.cscfg 个文件:

RoleEnvironment.GetConfigurationSettingValue("MySetting")

我们可以编写下面的语句,它将从所有配置文件中读取值,即 app.config、web.config 和 ServiceConfiguration.cscfg。

CloudConfigurationManager.GetSetting("MySetting")

我认为您最好使用 WebConfigurationManager。 有了它,您就可以访问 ConnectionStrings 和 AppSettings。 您可以通过 Azure 门户更新这两组设置。然后它们可以在其他 Azure facilities/services 中进一步使用,例如在配置网站备份时。 查看此以获取更多信息:https://azure.microsoft.com/en-us/blog/windows-azure-web-sites-how-application-strings-and-connection-strings-work/