CloudConfigurationManager vs WebConfigurationManager?

亡梦爱人 提交于 2019-12-19 05:18:14

问题


In an Azure Websites I was always using the following code to fetch some values from the config's app settings:

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

Just a couple of days ago I stublemd upon CloudConfigurationManager, and with it I can get the property like so:

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

Although CloudConfigurationManager seems like it's better fitted to cloud use, I never had any issues with WebConfigurationManager.

  • Should I be using CloudConfigurationManager?
  • What are the differences between the two?
  • In what cases CloudConfigurationManager will behave diffrent from
    WebConfigurationManager?

回答1:


CloudConfigurationManager enables us to read configuration file regardless of the environment we are in.

So instead of writing environment specific code statements e.g., for web.config file:

WebConfigurationManager.AppSettings["MySetting"]

For ServiceConfiguration.cscfg file:

RoleEnvironment.GetConfigurationSettingValue("MySetting")

We can write the below statement, which will read values from all the configuration files i.e., app.config, web.config and ServiceConfiguration.cscfg.

CloudConfigurationManager.GetSetting("MySetting")




回答2:


CloudConfigurationManager requires Microsoft.WindowsAzure.Configuration assembly, part of Azure SDK or separate NuGet.

WebConfigurationManager requires System.Web.Configuration assembly, part of .NET Framework.




回答3:


WebConfigurationManager and CloudConfigurationManager manage different configuration files.

WebConfigurationManager is for managing website's web.config file(s) and it's appsettings and connections strings

CloudConfigurationManager is for managing .cscfg files (for cloud services). His benefit is that you can manage configurations and connections from the azure portal directly.




回答4:


I think you're better off using WebConfigurationManager. With it, you have access to ConnectionStrings as well as AppSettings. Both sets of settings you can update via the Azure Portal. They can then further be used in other Azure facilities/services, such as when configuring website backup. Check this out for more information: https://azure.microsoft.com/en-us/blog/windows-azure-web-sites-how-application-strings-and-connection-strings-work/



来源:https://stackoverflow.com/questions/29655648/cloudconfigurationmanager-vs-webconfigurationmanager

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!