首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么用程序来即时更新设置了缓存时间的aspx,ascx页

2012-02-05 
如何用程序来即时更新设置了缓存时间的aspx,ascx页比如:/new/a.aspx/Control/b.ascx这个页都设置了缓存时

如何用程序来即时更新设置了缓存时间的aspx,ascx页
比如:
/new/a.aspx
/Control/b.ascx

这个页都设置了缓存时间为30分钟,比如当后台添加了新数据,又想让这二个页面数据能马上更新,而不是等这二个页面到了更新时间才去自动更新

这样的代码怎么写?

[解决办法]
继承CacheDependency类型而创造自己的缓存依赖系统
SqlDataSourceDependency(SqlDataSource上启用EnableCaching并设置缓存依赖的表),只有在表数据修改时才真正读取数据库
[解决办法]
Duration本来就是一个“最长时间”意思的。真正会不会使用缓存,就是看会不会设置缓存依赖项,使得后台数据修改时立刻清空缓存脏数据。如果这个不会,只会设置Duration,那就等于不会使用缓存。

在asp.net中提供和许多缓存依赖方法。比如SqlDependency,比如VaryByCustom。举个例子:

HTML code
<%@ Page Language="C#" %><%@ OutputCache Duration="6000" VaryByParam="*" VaryByCustom="方案1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title></head><body>    <form id="form1" runat="server">    <%= DateTime.Now.ToLongTimeString() %>    </form></body></html> 

热点排行