Application Custom Configrations

I'm not sure which would provide the best performance as well as an industry accepted solution. I have an application that is being used by a variety of customers now. Since we are now using  a single code base I need to allow the customer(s) to configure options such as menu names, the mileage rate that they will pay for mileage as well as others. Is it accepted to utilize the web.config file to store the settings or should I go with a database solution? I've been reading a little on this subject and haven't really had my questions answered.
Which would provide the following:
* Easier to implement
* Provide performance increase (as far as setting/retrieving settings)
* Is one preferred over the other
Trent AdamsApplication EngineerAsked:
Who is Participating?
Shaun KlineLead Software EngineerCommented:
If you are hosting a single website for multiple customers, then adding these settings to the web.config is not the answer. Web.config is for application wide settings, such as connection strings or email server settings. Also, depending on whether you have any software auditing or project management requirements, changing the web.config file could be considered another release of software.

Storing these types of settings is generally done in a database. This allows for updates to the values when needed quickly without the need to change code files.
Trent AdamsApplication EngineerAuthor Commented:
Shaun, thank you for your response. I was looking into utilizing KVP's in a database, so your response follows my thought process. Thanks again.
Trent AdamsApplication EngineerAuthor Commented:
Response makes sense and follows the research that I've done prior to asking the question as well as follows the track in which I was considering going down for this software release.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.