从ASP.Net中的缓存刷新页面时图表消失

时间:2012-05-29 14:16:52

标签: asp.net caching charts

我正在使用ASP.Net(Framework 4)和Microsoft Charts构建页面。

这些图表需要对数据库进行大量查询,我想缓存它们以防止我的用户使用无用的查询来溢出我的数据库。

我成功缓存了我的页面,但是当从缓存中刷新页面时,我的图表会消失。我读过这是因为我的图表的图像没有存储在缓存中。

当从缓存重新加载页面时,如何避免我的图表消失,因此它们会生成尽可能少的查询?

更多信息:

  • 我有一个包含ASCX控件的ASPX页面。
  • 在此控件中,我有一个 System.Web.UI.DataVisualization.Charting.Chart 组件,该组件填充在OnLoad方法中,具有大量数据库访问权限
  • 我想缓存我的ASPX页面,因此我的ASCX控件要避免经常查询数据库。
  • 使用此标记 <%@ OutputCache Duration =“15”...%> 时,点击F5时,我的页面会从缓存刷新自己,但我的图表没有丢失。

2 个答案:

答案 0 :(得分:1)

您可以缓存来自DB(用于绘制图表)的数据

答案 1 :(得分:0)

看起来这是Web.config文件中的一些配置问题:

我编辑了这一行,如下所示:

<add key="ChartImageHandler" 
value="storage=file;timeout=360;
dir=c:\TempImageFiles\;
webDevServerUseConfigSettings=true;
deleteAfterServicing=false;"/>

然后我在我的ASPX文件中输入以下命令(在顶部,在 &lt;%@ Page ... /&gt; 标记的正下方):< / p>

<%@ OutputCache Duration="10" Location="Server" VaryByParam="none" %>

现在我的页面正在从缓存中正确刷新,包括我的图表。

相关问题