I do not have a clear rule, but my "rule of thumb" is to locally only store the configuration specific to the computer on which the program is running, and to store all the general configuration data in the database.
We have developed a small library for storing and editing / version of our configuration in the database. We also developed a repository of common configurations with separate areas for each application and the ability to reuse configuration entries in multiple applications. We store high-level configuration entries such as rules, request definitions, etc. In the database.
A location-specific configuration, such as the location of plug-in collections, the connection string for the database-based configuration library, logging options, etc. included in the "normal" web / app.config files. This allows us to maintain a relatively clean separation of local and general configuration.
source share