Поделиться через


Практическое руководство. Декларативное задание возможности кэширования страницы ASP.NET

Обновлен: Ноябрь 2007

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

Если необходимые для страницы параметры кэширования известны во время разработки, возможность кэширования можно задать декларативно. В этом случае страница будет использовать эти параметры кэширования для всех последующих запросов. Дополнительные сведения см. в разделе Задание возможности кэширования страницы.

Декларативное задание возможности кэширования страницы

  1. Добавьте на страницу директиву @ OutputCache и определите атрибуты Duration и VaryByParam.

  2. Включите атрибут Location в тело директивы @ OutputCache и определите в качестве его значения одно из значений перечисления OutputCacheLocation: Any, Client, Downstream, Server, ServerAndClient или None.

    В следующем коде показан способ задания возможности кэширования на 60 секунд:

    <%@ OutputCache Duration="60" VaryByParam="None"%>
    
    zd1ysf1y.alert_note(ru-ru,VS.90).gifПримечание.

    Значением по умолчанию является Any. Если атрибут Location не определен, вывод страницы можно будет кэшировать на любом из сетевых устройств, поддерживающих кэширование и участвующих в обработке ответа. К ним относятся пославший запрос клиент, сервер, отвечающий на этот запрос, а также прокси-серверы, через которые проходит ответ.

Декларативное задание возможности кэширования с помощью профиля кэша

  1. Определите профиль кэша в файле Web.config приложения и в профиле, в том числе и в параметрах duration и varyByParam.

    Следующий элемент конфигурации <caching> определяет профиль кэша с именем Cache30Seconds, что приведет к кэшированию страницы на сервере в течение 30 секунд:

    <caching>
      <outputCacheSettings>
        <outputCacheProfiles>
          <add name="Cache30Seconds" duration="30" 
            varyByParam="none" />
        </outputCacheProfiles>
      </outputCacheSettings>
    </caching>
    
  2. Включите директиву @ OutputCache для каждой страницы ASP.NET, использующей профиль, и установите атрибут CacheProfile в значение имени профиля кэша, определенного в файле Web.config.

    В следующем примере кода указано, что на странице должен использоваться профиль кода Cache30Seconds:

    <%@ OutputCache CacheProfile="Cache30Seconds" %>
    

См. также

Задачи

Практическое руководство. Задание возможности кэширования страницы программными средствами

Основные понятия

Кэширование страниц ASP.NET

Кэширование страниц ASP.NET

Задание возможности кэширования страницы