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


Настройка кэша в ASP.NET

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

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

Настройка кэша вывода страниц

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

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

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

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

Параметры конфигурации кэша в файле Web.config

Есть два раздела конфигурации верхнего уровня для кэширования выходных данных страниц в файле Web.config: OutputCacheSection и OutputCacheSettingsSection.

Раздел OutputCacheSection используется для настройки параметров области приложения, таких как разрешение или запрещение кэширования выходных данных страниц. Например, можно отключить кэширование вывода страниц для всего приложения путем добавления строки enableOutputCache="false" в раздел OutputCacheSection файла Web.config. Параметры файла конфигурации имеют приоритет над настройками кэша на отдельных страницах, поэтому приведенный пример означает, что кэширование вывода использоваться не будут.

Раздел OutputCacheSettingsSection содержит настройки профилей и зависимостей, которые могут использоваться отдельными страницами. Например, следующий код создает раздел OutputCacheProfile с именем CacheProfile1, который будет кэшировать реализацию страницы в течение 60 секунд:

<outputCacheSettings>
  <outputCacheProfiles>
    <add name="CacheProfile1" duration="60" />
  </outputCacheProfiles>
</outputCacheSettings>

Параметры конфигурации кэша в файле Machine.config

Разделы конфигурации для файла Machine.config такие же, как и для файла Web.config, за исключением того, что в файле Machine.config можно заблокировать параметры конфигурации таким образом, что они не смогут быть переопределены отдельными приложениями на любом уровне. Это может потребоваться для сервера, предоставляющего услуги размещения веб-узлов, владелец которого не хотел бы, чтобы отдельные приложения изменяли конфигурацию кэширования. Дополнительные сведения см. в разделе Пошаговое руководство. Отключение параметров конфигурации ASP.NET.

Параметры конфигурации кэша страниц

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

Параметры конфигурации кэша пользовательских элементов управления

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

Параметры настройки API кэша

Можно настроить интерфейс API кэша приложения в файле Web.config. Как и в случае с кэшированием вывода страниц, владелец сервера, предоставляющего услуги размещения веб-узлов, может задать свойства конфигурации в файле Machine.config и блокировать параметры конфигурации кэша для всех приложений. Интерфейс API кэша приложения настраивается в разделе CacheSection. Например, можно отключить истечение срока действия при помощи следующего элемента конфигурации:

<cache disableExpiration="true" />

Можно также указать другие параметры конфигурации API кэша приложения с помощью задания значений атрибутов, таких как DisableExpiration и DisableMemoryCollection в разделе CacheSection файла конфигурации.

См. также

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

Общие сведения о кэшировании в ASP.NET

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

Кэширование данных приложения

Общие сведения о конфигурационном ASP.NET

Другие ресурсы

Файлы конфигурации ASP.NET