Expiration du Cache non respecté lorsque le site est en production
cs_aloisio11
Messages postés126Date d'inscriptionlundi 18 septembre 2006StatutMembreDernière intervention 7 décembre 2009
-
18 oct. 2007 à 16:27
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 2010
-
19 oct. 2007 à 11:42
Bonjour,
J'ai de nouveau un problème avec ce foutu Cache.
J'utilise la classe Cache pour mettre en cache des variables pour m'éviter de les recalculer par la suite.
J'utilise la classe ainsi :
Cache.Add("Menu", vMenu, Nothing, Now.AddMinutes(15), TimeSpan.Zero, CacheItemPriority.High, Nothing)
Quand je développe mon site, en local, le temps de 15 minutes (dans l'exemple) est bien respecté.
Cependant lorsque je mets mon site en production mon cache se vide aléatoirement au fur et à mesure de ma navigation (il reste entre 10s et 40s soit la visite de 2 à 10 pages)
D'où mes différences de temps de navigation entre mon site en Dev et celui en production.
Si quelqu'un voyait d'où peut venir ce problème ça serait merveilleux
jesusonline
Messages postés6814Date d'inscriptiondimanche 15 décembre 2002StatutMembreDernière intervention13 octobre 201029 19 oct. 2007 à 11:17
Bonjour,
quel est le type de vMenu ? si c'est un WebControl, je ne vois pas comment asp.net arrive à faire fonctionner ça :p
L'autre possibilité c'est qu'il n'y ai plus de mémoire sur la machine, genre il y a sql server qui prend toute la ram (normal) et qui laisse rien à asp.net du coup il peut pas rajouter grand chose au cache. Dans la méthode insert il y a une signature qui prend un delegate en paramètre et qui permet de savoir pourquoi l'objet a été tué.
cs_aloisio11
Messages postés126Date d'inscriptionlundi 18 septembre 2006StatutMembreDernière intervention 7 décembre 2009 19 oct. 2007 à 11:36
Bonjour,
Merci pour te réponse.
vMenu est un String.
Il me conserve bien cette la chaîne de caractères mais seulement 10s, puis il doit refaire le traitement pour régénérer la chaîne.
Ce qui est fou c'est que sur mon poste de développement avec mon site en local (en mode développement) tout fonctionne, mais dès que je met mon site en prod et je test, il perd le cache toutes les 10s.
Normalement le cache est stocké sur la machine du client donc pas de problème avec la RAM utilisé par SQL Server, non ?
Comment on met en place dans le insert la signature qui permet de savoir pourquoi l'objet a été tué ?