Hi,

I have debugged the code many times trying to find out how the settings are loaded on start up of the web application.  I just don't get it!

All settings classes implement the ISettings interface.  Lets take customer settings for example..  I have found out that it is represented by the CustomerSettings class.  In the database there is a Setting table.  Data for customer settings looks somethng like this:

customersettings.usernamesenabled
customersettings.checkusernameavailabilityenabled
customersettings.allowuserstochangeusernames
... and so on...

How and where are each of these settings mapped from "customersettings" to the CustomerSettings class and a property like "usernamesenabled" mapped to the UsernamesEnabled property in the CustomerSettings class?  And why was it implemented this way?

I know it has something to do with the following code in the DependencyRegistrar class:

builder.RegisterGeneric(typeof(ConfigurationProvider<>)).As(typeof(IConfigurationProvider<>));
builder.RegisterSource(new SettingsSource());


If someone can point me in the right direction then it would be appreciated.

Thanks
Brendan