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