2016-07-18 12 views
0

Ich wurde für eine lokale Cache-Lösung gesucht Ausgabecache in Benutzer-Browser zu speichern, so dass jeder Benutzer seinen eigenen Cache hat, und ich kam er folgendes Profil zu verwenden:Ausgabecache (Local vs Custom)

<add name="Cache30MinClient" duration="1800" varyByParam="none" location="Client" noStore="true" /> 

Jedoch habe ich folgende post gefunden, die besagt, dass der Benutzer-Cache durch varyByCustom attibute erfolgt.

Meine Frage ist: Ist meine Lösung genug für das Zwischenspeichern von Daten im Benutzerbrowser oder sollte ich diesem Beitrag folgen?

Danke.

Antwort

0

Es hängt davon ab :) GetVaryByCustomString im Wesentlichen können Sie Stück von HTTP-Anfrage auswählen, die als Cache-Schlüssel verwendet werden können. In Ihrer Lösung (ich vermisse den Controller Teil) ist Ihr Cache-Schlüssel leer - so wird jeder einzelne Benutzer das gleiche Ergebnis erhalten - dies kann in Ordnung sein, wenn die Benutzer anonym sind oder wenn die Tatsache, dass Benutzer authentifiziert ist oder nicht spiele keine Rolle in Ausgabe-HTML.

+0

Dank Onderej, in der Tat Benutzer sollten nicht das gleiche erhalten, jeder Benutzer sollte seine eigenen Daten lokal gespeichert haben. – Maro

+0

@Maro - dann solltest du der varyByCustom Route folgen und eine Art von ID verwenden - wie in der Referenz, die du notierst. –