0

À l'heure actuelle, j'ai OutCache sur une action avec une durée de 365 jours. Cependant, en fonction de certains événements, je voudrais effacer le cache et il existe plusieurs conditions pour effacer le cache. De plus, VaryByParam n'est pas une option.Actualisation outputcache manuelle

Comment puis-je y parvenir?

Je pense que je peux faire quelque chose comme ceci, stocker une variable dans un cookie comme: RefreshCache = false et vérifier cela dans la méthode de remplacement VaryByCustom. Incase le RefreshCache évalue à true, le réinitialiser à false, incrémenter la variable d'argument VaryByCustom par 1.

Cependant, je ne suis pas sûr que ce soit une méthode efficace pour réaliser ce que je veux.

Répondre

0

Vous pouvez supprimer l'élément de cache de sortie en utilisant HttpResponse.RemoveOutputCacheItem

Cependant, cela applique uniquement aux OuputCache éléments stockés sur le serveur. Si vous mettez en cache sur le client, cette méthode n'aura aucun effet.

Espérons que cela aide.

+0

Par défaut, il est stocké dans 3 emplacements droite? serveur Web, tous les serveurs proxy et le navigateur de l'utilisateur. Alors, comment va RemoveOutputCacheItem donné le scénario par défaut? En outre, que pensez-vous de la méthode que j'ai proposée? –