0

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

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

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

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

更多信息:

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

2 回答 2

1

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

于 2012-05-29T14:26:34.113 回答
0

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

我将这一行编辑如下:

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

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

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

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

于 2012-05-30T09:03:31.150 回答