asp.net 提供了缓存技术有助于我们最大程度地解决这个问题.它能缓存输出的页面,保存在存储器当中,缓存用户请求的内容.缓存的特点可以根据不方式来定制的. 【扩展信息:vc#2005 WinForm 开发体验】
为克服此问题,一些网站用页面生成引擎对所有页面生成html静态页面.但这样生成的页面对所有用户的请求内容都是相同.
缓存一个页面
为缓存一个页面输出的内容,我们要在面面顶部指定一个 @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 命令要改为:
... 下一页