我爱Aspx >> Asp.Net >> 清空页面缓存Response.Buffer = True
Response.ExpiresAbsolute = Now()
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"
听说.net2005有部分缓存技术,例如缓存某一个按钮。。。上次好象在哪里看到过,不过现在不记得了,有机会找到了再共享出来。
找到了:
大量的网站页面是采用动态的方式,根据用户提交的不同请求创建生成页面。正如我们所知的,动态页面有助于根据用户要求来提供定制的动态内容。动态页面也利于获取在数据库中每时每刻更新的资料。缺点是为每个用户请求生成同一页面增加了系统开销。
以上转自:http://www.e8page.com/?Pid=8&id=5798353
为克服此问题,一些网站用页面生成引擎对所有页面生成html静态页面。但这样生成的页面对所有用户的请求内容都是相同。
ASP.NET 提供了缓存技术有助于我们最大程度地解决这个问题。它能缓存输出的页面,保存在存储器当中,缓存用户请求的内容。缓存的特点可以根据不方式来定制的。
缓存一个页面
为缓存一个页面输出的内容,我们要在面面顶部指定一个 @OutputCache 命令。语法如下所示:
<%@ OutputCache Duration=5 VaryByParam="None" %>
如你所见,这条指令有两个属性。他们是:
Duration - 被缓存输出的内容有效期是多少秒。在时间超过指定的有效期后,过期的缓存内容会删除,并会在下次用户请求中重新调用页面生成缓存内容。再次的缓存内容过10秒后此过程又会重复。
VaryByParam - 这个属性是必须的,并且指明查询字串参数不同使缓存产生变化。在上面的代码片断中,我们指定 VaryByParam 属性是 “None” ,这意味着不论传递的查询字串参数如何不同所返回的页面内容是相同的。
如果对同一页面的两次请求含不同的查询字串参数,如:.../PageCachingByParam.aspx?id=12 和.../PageCachingByParam.aspx?id=15 ,这应该生成不同的页面内容,指令应该是:
<%@ OutputCache Duration=10 VaryByParam="id" %>
对这样两种不同请求的页面内容每一个都会被缓存 Duration 属性指定的时间长度。。
为了指定多个参数的情形,要使用分号来分隔参数名称。如果我们指定 VaryByParam 属性为“*”,缓存内容会因传递的不同查询字串参数而不同。
一些动态页面要根据不同的浏览来生成不同的内容。在这种情况下就要规定缓存输出内容要因不同浏览器而不同。@OutputCache 命令要改为:
<%@ OutputCache Duration=5 VaryByParam="id" VaryByCustom="browser" %>
这条指令不仅让缓存输出内容因浏览器不同而不同,而且也会因浏览器版本不同而不同,如 IE5、IE 6、Netscape 4、Netscape 6 都会获得不同输出的缓存版本。
Ҷƪл˵?
初次体验.net Ajax无刷新技术[04-21]
在vs2005 web程序里如何做固定表..[04-21]
Ajax基础-服务器端ASP.net脚本请..[04-21]
C#静态页面生成[04-21]
如何开发一个多种语言版本的C#程..[04-21]
c#.net存储过程版本的分页[04-21]
学习C#静态函数及变量的一个精典..[04-21]
Calendar如何只显示“一、二、三..[04-21]
预防SQL注入攻击(译自MSDN)[04-21]
两种取得硬盘剩余空间方法[04-21]