0

I'm trying to make a service to more easily configure configuration values on Azure applications. Right now, if I want to change a setting that it the same over 7 different environments, I have to change it in 7 different .cscfg files.

My thought is I can create a webservice, that the application will query for its configuration values. The webservice will look in a storage place, like Azure Tables, and return the correct configuration values.

I've been able to integrate this into a deployment script pretty easily (package the app, get the settings, change the cscfg file, deploy). The problem with that is every time you want to change a setting, you have to redeploy.

Finally the question - Is there a way I can retrieve the configuration settings after the application starts, on role start? It would of course need a base set of settings for the app to start. Retrieving the settings from the web service on application start would be good. Any way that I don't have to redeploy the application and that it will retrieve them automatically will work.

Thanks in advance!

Blake-o
  • 15
  • 2
  • 8
  • I've written a library because I had similar problems, it can read configuration values from a Table as well - https://github.com/aloneguid/config – Ivan G. Jan 25 '16 at 14:21

1 Answers1

0

Just use the .cscfg for the minimum set (common to all environment) of configurable settings. The use your web services for rest of the configurations. And don't modify your .cscfg. Just have a settings provider that retrieves settings from web service (via polling or message signalling - pub/sub model). And have a reinitialize settings procedure in place for this settings provider and all the services/components that rely on configurable settings.

astaykov
  • 30,768
  • 3
  • 70
  • 86
  • That's kind of what I was thinking of doing. Would I do it in a role start script? When it retrieves the values, where do I put them? – Blake-o Jul 09 '13 at 15:00