Expiration du Cache non respecté lorsque le site est en production

cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009 - 18 oct. 2007 à 16:27
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 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

Merci d'avance ...

4 réponses

cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 7 décembre 2009
18 oct. 2007 à 16:51
Petite précision, en production, le cache se vide toutes les 10s très précisement.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
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é.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
cs_aloisio11 Messages postés 126 Date d'inscription lundi 18 septembre 2006 Statut Membre Derniè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é ?
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
19 oct. 2007 à 11:42
coté client ???? euh t'es sur d'avoir bien compris comment fonctionne ASP.net ...

HttpContext.Current.Cache.Insert(key, obj, null, DateTime.Now.AddMinutes(5), System.Web.Caching.Cache.NoSlidingExpiration, CacheItemPriority.Default, delegate(string key, object obj, CacheItemRemovedReason reason)
{


});





<hr />

Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
0
Rejoignez-nous