Должен ли я помещать пользовательские данные AppSettings web.config в ApplicationState?

У меня есть несколько пользовательских значений в AppSettings в моем файле web.config.

Эти значения проверяются при каждом запросе. (Пожалуйста, не обращайте внимания на тот факт, что это может быть плохо / хорошо ... это выходит за рамки вопроса).

eg.

Итак, если каждый запрос проверяет файл web.config на значение этого ключа, было бы разумно поместить его в кеш приложения (например, через global.asax) вместо того, чтобы проверять это значение КАЖДЫЙ запрос?

Я предполагаю, что когда мы читаем значение из AppSettings, веб-сайт выполняет физическое чтение файла web.config? или эта информация также полностью считывается в память при запуске веб-сайта, и все ссылки на любую информацию о appSettings - это просто чтение в памяти .. не чтение ввода-вывода с диска?


person Pure.Krome    schedule 07.03.2011    source источник


Ответы (2)


WebConfig кэшируется. Просто по первому запросу веб-сайт выполняет физическое чтение. Все остальные запросы используют данные кеша. Вот почему, когда вы изменяете файл web.config и вызываете запрос, ваш сайт будет иметь небольшую задержку, потому что информация в web.config пересылается.

person Guilherme de Jesus Santos    schedule 07.03.2011

Не нужно ничего делать:

http://weblogs.asp.net/stevewellens/archive/2011/01/15/web-config-is-cached.aspx

person Steve Wellens    schedule 07.03.2011