Wir haben eine ziemlich Standard E-Commerce-Szenario mit ausgelagerten Listen von Produkten innerhalb der Kategorien. Über oder über 80% der Besucher navigieren niemals über die erste Seite hinaus. Je nach Kategorie gibt es dann 5-10 weitere Seiten, die viel seltener aufgerufen werden. (Ja wir optimieren, was auf der ersten Seite angezeigt wird und eine gute Suche - aber das ist eine andere Diskussion)programmgesteuert steuern Ausgabe-Caching - deaktivieren oder aktivieren Sie den Cache nach Parameter Wert
Wir können nicht jede einzelne Seite der Ergebnisse zwischenspeichern, weil wir durch den Speicher beschränkt sind, aber den Vorteil des Caching nur die erste Seite der Ergebnisse für jede Kategorie wäre riesig.
Ich weiß, ich könnte etwas ähnliches mit Objekt-Caching tun, um die fraglichen Datasets zu speichern, aber ist dies möglich mit Ausgabe-Caching, vielleicht mit dem Objekt response.Cache?
Wo im Seitenlebenszyklus könnte dies getan werden? Vorrendern?
stark vereinfacht, ist die URL so etwas wie "/ Produktkategorie = etwas & Seite = 1?" Und ich würde wie die Logik etwas wollen (Pseudo-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.
Wir ASP.NET verwenden 2.0, auf IIS 6/win2003.
Werfen Sie einen Blick auf die letzte Antwort auf [diese] (http://stackoverflow.com/questions/1122837/how-do-i-configure-asp-net-outputcache-to-vary-by-http-vs -https) Beitrag. Ich hoffe das hilft. – James