user2818430
user2818430

Reputation: 6029

Azure web/worker role read configuration settings

What is the best way/recommended way to read settings from a worker/web role?

Is it:

CloudConfigurationManager.GetSetting("ConnectionString") (this I'm using)

or

RoleEnvironment.GetConfigurationSettingValue("ConnectionString")

Although both work fine ...

enter image description here

Upvotes: 26

Views: 14085

Answers (1)

Gaurav Mantri
Gaurav Mantri

Reputation: 136306

From the documentation for CloudConfigurationManager.GetSetting:

The GetSetting method reads the configuration setting value from the appropriate configuration store. If the application is running as a .NET Web application, the GetSetting method will return the setting value from the Web.config or app.config file. If the application is running in Windows Azure Cloud Service or in a Windows Azure Website, the GetSetting will return the setting value from the ServiceConfiguration.cscfg.

From above, it is clear that the function CloudConfigurationManager.GetSetting reads either from service configuration (ServiceConfiguration.cscfg) file or application configuration file (App.config/Web.config) depending on where the application is running.

RoleEnvironment.GetConfigurationSettingValue will only read from the service configuration file.

If your application component is used in both cloud and non-cloud applications, use CloudConfigurationManager.GetSetting so that you don't have to make any changes in the code. If your component would run only in the cloud, then I guess you could use either one.

Upvotes: 40

Related Questions