Project DescriptionDynamic Configuration Manager
About Dynamic Configuration ManagerFor most applications the “out of box” functionality of the System.Configuration classes work well. However, there are cases when you need a better way to handle multiple sets of configuration data for multiple deployment environments (development, systems integration testing, user acceptance testing, production, contingency, training, demo, load test, etc.).
Managing application configuration data is nothing new and there are several solution examples:
- Managing differences in configuration across deployment environments:
- Managing Multiple Configuration File Environments with Pre-Build Events:
- Environmental overrides made it into EntLib v3!:
- .Net StockTrader: Configuration Service for .NET Applications and WCF Services:
- Configuration-Specific web.config Files by By Dino Esposito, April 12, 2010:
Configuration Problems
- Most applications require different configuration data for multiple environments (e.g. development, systems testing, user acceptance testing, demo, load testing, production and contingency). Additionally, an application may support multiple releases requiring different configurations.
- The overhead associated with maintaining multiple application configuration data is manual and error-prone.
- Server host support is usually reluctant to maintain configuration data outside of the application deployment location (e.g. Windows Server registry or a shared directory). Instead, leaving the application teams responsible for maintenance.
- Your team deploys code sequentially from environment to environment. For example, you can’t push code from a central deployment tool directly to UAT, SIT or Production. Instead, you must deploy into SIT and promote into UAT from SIT, from UAT into Stage, etc.
Dynamic Configuration Manager Solution and FeaturesSummary of Dynamic Configuration Manager approach...
Tutorials and SamplesTBD...
Special notesDynamic Configuration Manager is based on Paul Haley’s articles published at:
http://www.codeproject.com/KB/dotnet/EnhancedAppSettings.aspxhttp://www.codeproject.com/KB/dotnet/EnhancedSettings.aspx