Я работаю с 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());
Если кто-то может указать мне правильное направление, буду признателен.