Послекэшевая подстановка и кэширование фрагментов

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

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

Совет. Наиболее гибкий способ реализации сценарий частичного кэширования заключается в полном отказе от кэширования вывода и применении кэширования данных для обработки процесса в вашем коде программным способом. Вы познакомитесь с этой техникой в разделе "Кэширование данных" далее в главе.

Фрагментное кэширование

Чтобы реализовать фрагментное кэширование, потребуется создать пользовательский элемент управления для части страницы, которую вы хотите кэшировать. Затем можно добавить этому элементу управления директиву OutputCache. В результате вся страница не будет кэшироваться, а пользовательский элемент управления — будет. Пользовательские элементы управления обсуждаются в главе 14.

Фрагментное кэширование концептуально — то же самое, что и кэширование страниц. Есть только одна ловушка: если ваша страница извлекает кэшированную версию пользовательского элемента управления, она не может взаимодействовать с ним в коде. Например, если ваш элемент управления включает свойства, то код Web-страницы не может к ним обращаться или модифицировать их. Когда используется кэшированная версия пользовательского элемента управления, в страницу просто вставляется блок HTML. Соответствующий объект элемента управления недоступен.

 

предыдущая    следующая страница    вначало главы    оглавление

490

Hosted by uCoz