Понимание того, как настройки Nop Commerce загружаются из базы данных

Я работаю с Nop Commerceи мне интересно, может ли кто-нибудь помочь мне с моим спутанность сознания.

Я много раз отлаживал код, пытаясь выяснить, как загружаются настройки при запуске веб-приложения. Я просто не понимаю!

Все классы настроек реализуют интерфейс ISettings. Возьмем, к примеру, настройки клиента. Я обнаружил, что он представлен классом CustomerSettings. В базе данных есть Таблица настроек.Данные для клиентских настроек выглядят примерно так:

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

Как и где каждый из этих параметров отображается из customersettingsв класс CustomerSettingsи такое свойство, как usernamesenabledсопоставляется со свойством UsernamesEnabledв классе CustomerSettings? И почему это реализовано именно так?

Я знаю, что это как-то связано со следующим кодом в классе DependencyRegistrar:

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

Если кто-то может указать мне правильное направление, буду признателен.

6
задан Brendan Vogt 19 May 2012 в 16:48
поделиться