2008-12-01 3 views
0

J'ai une application dans laquelle les utilisateurs doivent se connecter. Une fois connecté, ils peuvent effectuer une recherche sur notre base de données.Quels événements se déclenchent/ne se déclenchent pas lorsqu'une page est renvoyée à partir du cache asp.net?

Leur identité peut affecter les résultats de la recherche.

Je souhaite utiliser les pages Cache des résultats. VaryByParam sonne bien pour ça.

Toutefois, je ne comprends pas les événements qui se déclenchent ou ne se déclenchent pas lorsqu'une version en cache d'une page est renvoyée.

Je ne veux pas qu'un autre utilisateur essaye d'alimenter des paramètres url qui pourraient indiquer un autre compte d'utilisateur et donc leur permettre d'accéder aux résultats de quelqu'un d'autre.

Par conséquent j'ai besoin d'un événement de serveur qui se déclenche toujours même quand une page est retournée du cache de sorte que je puisse vérifier ce paramètre d'identification contre la version de session de même.

Toutefois, cela signifie également que je ne peux pas effectuer ma recherche dans cet événement, car il serait toujours exécuté et par conséquent, l'objectif de la mise en mémoire cache. J'ai donc besoin d'un autre événement qui se déclenche uniquement si la page n'est pas en cours de récupération du cache.

Quels événements s'exécutent dans ces 2 cas de figure?

Répondre

1

Avez-vous envisagé de définir les propriétés du cache de réponse pour permettre à l'ordinateur client de mettre en cache le résultat? Utilisez la méthode SetCacheability de la stratégie de cache sur la réponse pour définir la cachabilité à Private.

Vous n'avez pas vraiment besoin de la mise en cache du serveur si chaque utilisateur peut avoir des résultats différents, demandez au cache client de faire le travail.

Questions connexes