controlar mediante programación el almacenamiento en caché de resultados: deshabilite o habilite la memoria caché según el valor del parámetro

Tenemos un escenario de comercio electrónico bastante estándar con listas de productos paginados dentro de categorías. Para bien o para mal, alrededor del 80% de los visitantes nunca navegan más allá de la primera página, dependiendo de la categoría puede haber entre 5 y 10 páginas más de resultados que se ven con mucha menos frecuencia. (Sí, optimizamos lo que aparece en la primera página y tenemos una buena búsqueda, pero esa es una discusión diferente)

No podemos almacenar en caché cada página de resultados, porque estamos limitados por la memoria, pero el beneficio de almacenar en caché solo la primera página de resultados para cada categoría sería enorme.

Sé que podría hacer algo similar utilizando el almacenamiento en caché de objetos para almacenar los conjuntos de datos en cuestión, pero ¿es esto posible usar el almacenamiento en caché de resultados, quizás utilizando el objeto response.Cache?

¿Dónde en el ciclo de vida de la página se podría hacer esto? Pre-render?

Muy simplificado, la URL es algo así como "/ ProductList? Category = something & Page = 1" Y me gustaría algo como la lógica (pseudocódigo):

<code>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.
</code>

Estamos utilizando ASP.NET 2.0, en IIS 6 / win2003.

Respuestas a la pregunta(5)

Su respuesta a la pregunta