Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Применение кэширования. Зависимости в кэше. Использование класса HttpCachePolicy. Манипулирование кэшем. Настройка механизмов кэширования



Одним из наиболее важных факторов в построении высокопроизводительных масштабируемых веб-приложений является возможность сохранения элементов — объектов данных, страниц или частей страниц — в памяти после первого обращения к ним. Эти элементы кэшируются, или сохраняются, веб-сервером или другими программами, обрабатывающими поток запросов, например прокси-сервером или обозревателем. Это позволяет избежать повторного создания данных, которые были получены при обработке предыдущих запросов, особенно данных, на обработку которых затрачивается значительное количество процессорного времени или других ресурсов. Кэширование ASP.NET позволяет использовать разнообразные методики сохранения выходных страниц или данных приложения, сформированных по запросам HTTP, и их повторного использования.

Для создания высокопроизводительных веб-приложений в ASP.NET поддерживается два типа кэширования. Первый тип кэширования, называемый также кэшированием вывода, позволяет сохранять динамические страницы и ответы пользовательских элементов управления на любом устройстве, поддерживающем кэширование потока вывода с сервера на обозреватель, с которого пришел запрос, в соответствии с протоколом HTTP 1.1. При последующих запросах страница или код пользовательского элемента управления не выполняются; для удовлетворения запроса используется кэшированный вывод. Второй тип кэширования — это традиционное кэширование данных приложения, которое используется для программного сохранения произвольных объектов, например данных приложения, в памяти сервера, что позволяет приложению экономить время и ресурсы, которые потребовало бы повторное создание этих объектов.

Использование класса HttpCachePolicy

Управлять кешированием ASP.NET страниц можно двумя способами - с помощью директивы OutputCache и с помощью класса HttpCachePolicy. Директива OutoutCache представляет интуитивно понятный интерфейс для класса HttpCachePolicy. При этом, накладывая некоторые ограничения. Например, используя директиву OutputCache нельзя установить абсолютное время окончания срока хранения объекта в кеше. Использование класса HttpCachePolicy представляет такую возможность.

Доступ к экземпляру класса HttpCachePolicy можно получить с помощью свойства Cache объекта Response.

Рассмотрим пример использования HttpCachePolicy для кеширования страницы.

В приведенном выше примере кеширование активизируется вызовом методов SetExpires и SetCacheability в обработчике события Load для веб формы. В данном конкретном случае страница кешируется на 2 минуты и сохраняется везде, где может сохраниться (аналогично использованию атрибута Location="Any").

Как уже указывалось ранее, метод SetExpires позволяет установить абсолютное время, после которого страница будет удалена из кеша. Следующий пример устанавливает время окончания пребывания страницы в кеше на 18:00 локального времени:

Response.Cache.SetExpires(DateTime.Parse("18:00"));

Можно установить скользящее время удаления страницы из кеша. Данное свойство кеширования активизируется с помощью вызова метода SetSlidingExpiration с параметром true. При этом время хранения страницы в кеше будет автоматически обновляться после каждого запроса.

Настройка механизмов кэширования

Настроить кэширование вывода страницы можно в следующих местах:

Файлы конфигурации. Можно настроить параметры кэширования выходных данных страниц в любом файле конфигурационной иерархии приложения, включая файл Machine.config (чтобы настроить параметры для всех веб-приложений на компьютере) и файл Web.config приложения (чтобы настроить параметры для одного приложения).

Отдельные страницы. Можно задать параметры кэширования на отдельных страницах декларативно или программно.Можно также применить для отдельных страниц профили кэша, созданные в файле конфигурации.

Пользовательские элементы управления. Можно задать кэширование в отдельных пользовательских элементах управления декларативно или программно.Это удобный способ для кэширования содержимого страницы, которая не кэшируется другими методами.





Дата публикования: 2015-02-03; Прочитано: 315 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...