Я рассматриваю возможность создания статического класса для обработки всего моего доступа к appSettings Web.config. Например, это будет выглядеть так:
public static class ConfigManager
{
public static string Timeout = ConfigurationManager.AppSettings["Timeout"];
public static string Version = ConfigurationManager.AppSettings["Version"];
}
Я полагаю, что это дало бы мне центральное место для изменения ключей в настройках приложения, если бы я захотел изменить их в будущем, и дало бы мне интеллект для всех параметров конфигурации в моем приложении.
Мой вопрос в том, как это будет работать, поскольку я не уверен, как статика работает под капотом. Я надеюсь, что при первом доступе к одному из свойств все свойства будут считаны из конфигурации и помещены в память, а все последующие обращения будут просто перемещаться в память, а не просматривать конфигурацию. К сожалению, это будет означать, что изменения конфигурации во время выполнения не вступят в силу. Я также подумал, что может быть загружено только то свойство, которое я просматриваю, или что все они будут загружаться каждый раз, когда я обращаюсь к какому-либо свойству.
Кто-нибудь знает, как комбинация статического свойства, считываемого из конфигураций, будет вести себя под капотом?