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

Visual Studio 2010

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

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

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

Можно кэшировать страницы, основанные на значениях параметров строки запроса или переменных форм (значениях элементов управления). Кэширование, основанное на этих типах значений, должно быть явно разрешено при помощи атрибута VaryByParam директивы @ OutputCache. Дополнительные сведения см. в разделе Кэширование нескольких версий страницы.

Когда кэшированная страница запрашивается пользователем, ASP.NET определяет, удовлетворяет ли вывод кэша политике кэширования, определенной для данной страницы. Если выходные данные являются допустимыми, кэшированные выходные данные отправляются клиенту, и для страницы не выполняется повторная обработка. ASP.NET позволяет выполнять код во время проверки данных, так что можно написать определенную логику для проверки, верно ли выполнена ли страница. Дополнительные сведения см. в разделе Практическое руководство. Проверка допустимости кэшированной страницы.

Иногда нецелесообразно кэшировать страницу целиком, так как части страницы могут изменяться при каждом новом запросе. В таких случаях можно кэшировать часть страницы. ASP.NET обеспечивает функциональность для кэширования только части страницы ASP.NET. Дополнительные сведения см. в разделе Кэширование частей страницы ASP.NET.

Показ: