Практическое руководство. Декларативное задание возможности кэширования страницы ASP.NET
Обновлен: Ноябрь 2007
Возможность кэширования страницы или пользовательского элемента управления означает, может ли страница быть кэширована на устройстве во время жизненного цикла ее отклика. В число этих устройств входят клиент (обозреватель), посылающий запрос, веб-сервер, отвечающий на этот запрос, и любые другие способные к кэшированию устройства, включенные в поток запроса или ответа, например прокси-серверы.
Если необходимые для страницы параметры кэширования известны во время разработки, возможность кэширования можно задать декларативно. В этом случае страница будет использовать эти параметры кэширования для всех последующих запросов. Дополнительные сведения см. в разделе Задание возможности кэширования страницы.
Декларативное задание возможности кэширования страницы
Добавьте на страницу директиву @ OutputCache и определите атрибуты Duration и VaryByParam.
Включите атрибут Location в тело директивы @ OutputCache и определите в качестве его значения одно из значений перечисления OutputCacheLocation: Any, Client, Downstream, Server, ServerAndClient или None.
В следующем коде показан способ задания возможности кэширования на 60 секунд:
<%@ OutputCache Duration="60" VaryByParam="None"%>
Примечание. Значением по умолчанию является Any. Если атрибут Location не определен, вывод страницы можно будет кэшировать на любом из сетевых устройств, поддерживающих кэширование и участвующих в обработке ответа. К ним относятся пославший запрос клиент, сервер, отвечающий на этот запрос, а также прокси-серверы, через которые проходит ответ.
Декларативное задание возможности кэширования с помощью профиля кэша
Определите профиль кэша в файле Web.config приложения и в профиле, в том числе и в параметрах duration и varyByParam.
Следующий элемент конфигурации <caching> определяет профиль кэша с именем Cache30Seconds, что приведет к кэшированию страницы на сервере в течение 30 секунд:
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="Cache30Seconds" duration="30" varyByParam="none" /> </outputCacheProfiles> </outputCacheSettings> </caching>
Включите директиву @ OutputCache для каждой страницы ASP.NET, использующей профиль, и установите атрибут CacheProfile в значение имени профиля кэша, определенного в файле Web.config.
В следующем примере кода указано, что на странице должен использоваться профиль кода Cache30Seconds:
<%@ OutputCache CacheProfile="Cache30Seconds" %>
См. также
Задачи
Практическое руководство. Задание возможности кэширования страницы программными средствами