Ответ 1
Каждая технология/методы кэширования имеет свой собственный набор функций. Эти функции могут казаться невыгодными в одном приложении, но могут быть полезны в других требованиях к приложениям.
Итак, короче говоря, в зависимости от ваших требований решайте, какая технология кеширования и какие функции лучше всего подходят вам.
For example, Let us discuss some client side Caching techniques
.
MSDN говорит, что мы можем также использовать HiddenField
для хранения только небольших количеств часто изменяющихся данных в скрытых полях, потому что эти данные включены в обратные вызовы на сервер при каждой обратной передаче.
Преимущество этой функции: Снижает рабочую нагрузку на вашем сервере, сохраняя информацию о странице с помощью клиентских опций.
Однако MSDN четко говорит, что: этот подход имеет минимальную поддержку безопасности.
Таким образом, можно или не может использовать эту функцию всегда, так как существуют соображения безопасности.
Consider one more example
, Page Output caching
: это 2 типа, кэширование вывода страницы и кэширование фрагмента страницы.
Кэширование вывода страницы кэширует всю веб-страницу и подходит только тогда, когда содержимое этой страницы довольно статично. Если части страницы изменяются, вы можете обернуть статические разделы в качестве пользовательских элементов управления и кешировать пользовательские элементы управления, используя кэширование фрагментов страницы.
And one last comment on
Application
vs HttpRuntime.cache
:
Application
не является кешем, его глобальной коллекцией значений значений. если вы добавите объект в Application
, он останется до тех пор, пока аппроксимация не будет восстановлена.
- Переменные приложения - это общие переменные среди всех пользователей веб-приложения.
- Переменные приложения ведут себя как статические переменные, и они заменяют статические переменные, поскольку статические переменные не имеют состояния в веб-приложениях.
- В переменных приложения должны сохраняться только общие значения, и как только они не используются, они должны быть явно удалены.
Cache
: можно добиться значительных улучшений производительности в приложениях ASP.NET путем кэширования часто запрашиваемых объектов и данных в классах Application
или Cache
. Хотя класс Cache
, безусловно, обеспечивает гораздо большую гибкость и контроль, он, по-видимому, предлагает предельное преимущество с точки зрения увеличения пропускной способности по сравнению с классом Application
для кэширования. Было бы очень сложно разработать схему тестирования, которая могла бы точно измерить потенциальные преимущества класса Cache
встроенного управления менее используемыми объектами через процесс очистки, а не тот факт, что приложение не предлагает эту функцию. Разработчик должен принять решение в этом случае и должен основываться на потребностях и удобстве проекта и его шаблонах использования. Проверьте эту ссылку для более подробной информации.
Обратитесь к этой статье MSDN, чтобы получить полное объяснение по всем технологиям кэширования в Asp.net с обсуждением особенностей каждой технологии.
Кроме того, эти 2 ссылки являются отличным источником для начала: