2009-02-18 9 views
1

J'utilise le nouveau contrôle de graphique asp.net dans un contrôle utilisateur. J'ai essayé d'utiliser la directive de cache de sortie pour mettre en cache le contrôle utilisateur pendant 30 secondes. La mise en cache est personnalisée en fonction de l'utilisateur connecté.Caching de sortie de mappage et de contrôle utilisateur ASP.NET

Les données du graphique sont perdues pendant que le contrôle est mis en cache. Je vois le graphique un toutes les 30 secondes mais à aucun moment entre. Ai-je manqué une option de cache pour le contrôle de cartographie asp.net?

Merci,

Martin.

+0

Pouvez-vous poster un exemple de code? – LukeH

+0

avez-vous résolu le problème? Pouvez-vous poster un exemple de code? –

Répondre

2

[Je suppose que je vais ajouter mon commentaire comme une réponse, au cas où il répond à votre question]

Vous utilisez le <% @OutputCache ...%> directive page? Si c'est le cas, cela met en cache la sortie de la page (c'est-à-dire le html), et ne récupèrera pas les sources de données, ou la base de données à nouveau jusqu'à l'expiration du cache. Si vous voulez mettre en cache la source de données pour votre graphique, vous auriez besoin de le faire dans le code-behind:

Référence caching: http://msdn.microsoft.com/en-us/library/18c1wd61(VS.80).aspx

Ajout d'éléments dans le cache: http://msdn.microsoft.com/en-us/library/system.web.caching.cache.add.aspx

Pour récupérer de la cache: http://msdn.microsoft.com/en-us/library/system.web.caching.cache.item.aspx

Cela aide-t-il, ou suis-je hors-base?

+0

Merci Carl, je pense que c'est probablement la route que je vais devoir prendre. Je crois que le problème est dû au fait que l'image graphique n'est pas stockée. Je vais devoir continuer à chercher. – Martin

2

Vous pouvez définir la propriété ImageStorageMode sur UseImageLocation. Plus d'informations sur la gestion de fichiers image, vous pouvez trouver here.

+1

Merci pour votre réponse et votre lien. Basé sur le lien j'ai mis en place la mise en cache des graphiques sur le niveau de contrôle. J'ai mis les cartes à enregistrer sur le disque avec un UID au lieu de SEQ. –

Questions connexes