У нас есть довольно стандартный сценарий электронной коммерции с выгружаемыми списками продуктов в категориях. К лучшему или худшему, около 80% посетителей никогда не перемещаются мимо первой страницы, в зависимости от категории может быть еще 5-10 страниц результатов, которые просматриваются гораздо реже. (Да, мы оптимизируем то, что появляется на первой странице и имеют хороший поиск, но это другое обсуждение)программно управляет выходным кэшированием - отключить или включить кеш в соответствии с значением параметра
Мы не можем кэшировать каждую страницу результатов, потому что мы ограничены памятью, но преимущество кеширования только первая страница результатов для каждой категории будет огромной.
Я знаю, что я мог бы сделать что-то подобное с помощью кэширования объектов для хранения данных, о которых идет речь, но возможно ли это с помощью кэширования вывода, возможно, с помощью объекта response.Cache?
Где на странице жизненного цикла это можно сделать? Pre-рендеринга?
Значительно упрощена, то URL что-то вроде "/ ProductList Категория = что-то & страница = 1?" И я хочу что-то вроде логики (псевдокод):
If paramater "Page" equals 1
Use output caching: vary by param = "categoryName; page"
else
Don't use caching at all, just render the page from scratch.
Мы используем ASP.NET 2.0, на IIS 6/win2003.
Посмотрите на последний ответ на [this] (http://stackoverflow.com/questions/1122837/how-do-i-configure-asp-net-outputcache-to-vary-by-http-vs -https). Надеюсь, это поможет. – James