web.config авто кеширование - PullRequest
1 голос
/ 21 июля 2009

У меня есть пользовательский раздел конфигурации в файле web.config. Я задерживаюсь между:

  1. Чтение его в статический класс каждый раз, когда мне нужно какое-либо значение конфигурации (потому что я предполагаю, что система уже кэширует файлы, когда я открываю их (например, когда я запускаю Word, это занимает больше времени в первый раз и намного меньше при последовательных открытиях))
  2. Чтение его в статический класс и его кэширование с использованием Application.Cache с зависимостью от файла и с использованием кэшированных данных - я полагаю, это будет немного быстрее, но стоит ли это хлопот.

Что вы думаете об автоматическом (открытом) кэшировании файлов ...

Ответы [ 3 ]

8 голосов
/ 21 июля 2009

Написать пользовательский раздел конфигурации и использовать ConfigurationManager.GetSection

.NET заботится о кэшировании и делает недействительным всякий раз, когда файл web.config изменяется.

3 голосов
/ 21 июля 2009

Чтение значений из web.config очень и очень быстрое. ConfigurationManager высоко оптимизирован для этой цели. Настолько быстро, что при сохранении значения в Session, Cache и т. Д. Выигрыша практически нет ... так что не надо. Просто прочитайте значение из web.config, когда вам это нужно; на стандартном ноутбуке я могу читать настройки web.config более 600 000 раз в секунду без проблем.

2 голосов
/ 21 июля 2009

AFAIK, файлы конфигурации уже кэшируются в памяти, если используется System.Configuration.ConfigurationManager.

Только одна причина, по которой изменение web.config / app.config требует перезапуска приложения для получения изменений

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...