【问题标题】:Charts disappearing when refreshing page from cache in ASP.Net从 ASP.Net 中的缓存刷新页面时图表消失
【发布时间】:2012-05-29 14:16:52
【问题描述】:

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

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

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

如何避免我的图表在页面从缓存中重新加载时消失,从而尽可能少地生成查询?

更多信息:

  • 我有一个包含 ASCX 控件的 ASPX 页面。
  • 在这个控件中,我有一个 System.Web.UI.DataVisualization.Charting.Chart 组件,它填充在 OnLoad 方法中,具有大量的数据库访问权限.
  • 我想缓存我的 ASPX 页面和我的 ASCX 控件以避免经常查询数据库。
  • 使用此标记时 ,当按下 F5 时,我的页面会从缓存中自行刷新,但我的图表没有迷路了。

【问题讨论】:

  • 为了让任何人给你任何帮助,请发布代码sn-ps你如何将数据分配给图表组件,以及你正在使用哪种方法(Page_Load()?所以。

标签: asp.net caching charts


【解决方案1】:

您可以缓存数据库中的数据(用于绘制图表)

【讨论】:

  • 这意味着我必须手动管理所有的东西?使用“缓存”对象并自己管理缓存持续时间?
【解决方案2】:

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

我将这一行编辑如下:

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

然后我只需在我的 ASPX 文件中输入以下命令(在顶部, 标记的正下方):

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 2011-02-04
    • 2013-07-16
    • 2012-09-21
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    相关资源
    最近更新 更多