易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET 缓存:方法和最佳实践

ASP.NET 缓存:方法和最佳实践
2009-11-28 16:49
摘要:ASP.NET 提供三种主要形式的缓存:页面级输出缓存、用户控件级输出缓存(或称为片段缓存)和缓存 API。输出缓存和片段缓存的优点是非常易于实现,在大多数情况下,使用这两种缓存就足够了。而缓存 API 则提供了额外的灵活性(实际上是相当大的灵活性),可用于在应用程序的每一层利用缓存。
Steven A. Smith ASPAlliance.com
2003 年 8 月
适用于: Microsoft? ASP.NET
请下载 CacheDemos.msi。
本页内容
Steve 的缓存提示
页面级输出缓存
片段缓存,用户控件输出缓存
缓存 API,使用 Cache 对象
小结
在 ASP.NET 提供的许多特性中,缓存支持无疑是我最欣赏的特性,我这样说当然是有充分理由的。相比 ASP.NET 的所有其他特性,缓存对应用程序的性能具有最大的潜在影响,利用缓存和其他机制,ASP.NET 开发人员可以接受使用开销很大的控件(例如,DataGrid)构建站点时的额外开销,而不必担心性能会受到太大的影响。为了在应用程序中最大程度地利用缓存,您应该考虑在所有程序级别上都实现缓存的方法。
Steve 的缓存提示
尽早缓存;经常缓存
您应该在应用程序的每一层都实现缓存。向数据层、业务逻辑层、UI 或输出层添加缓存支持。内存现在非常便宜 — 因此,通过以智能的方式在整个应用程序中实现缓存,可以获得很大的性能提高。
缓存可以掩盖许多过失
缓存是一种无需大量时间和分析就可以获得“足够良好的”性能的方法。这里再次强调,内存现在非常便宜,因此,如果您能通过将输出缓存 30 秒,而不是花上一整天甚至一周的时间尝试优化代码或数据库就可以获得所需的性能,您肯定会选择缓存解决方案(假设可以接受 30 秒的旧数据)。缓存正是那些利用 20% 付出获得 80% 回报的特性之一,因此,要提高性能,应该首先想到缓存。不过,如果设计很糟糕,最终却有可能带来不良的后果,因此,您当然也应该尽量正确地设计应用程序。但如果您只是需要立即获得足够高的性能,缓存就是您的最佳选择,您可以在以后有时间的时候再尽快重新设计应用程序。
返回页首
页面级输出缓存
作为最简单的缓存形式,输出缓存只是在内存中保留为响应请求而发送的 HTML 的副本。其后再有请求时将提供缓存的输出,直到缓存到期,这样,性能有可能得到很大的提高(取决于需要多少开销来创建原始页面输出 - 发送缓存的输出总是很快,并且比较稳定)。
实现
要实现页面输出缓存


相关文档:

ASP.NET 如何:创建 ASP.NET 登录页


      可以使用 ASP.NET Login 控件创建登录页。此控件提取用户名和密码,并使用 ASP.NET 成员资格和 Forms 身份验证来验证用户的凭据并创建身份验证票证。
 
1、创建一个使用 ASP.NET 成员资格的 ASP.NET Web 应用程序。有关详细信息和示例,请参见配置 ASP.NET 应用程序以使用成员资格 ......

ASP.NET实现自适应图片大小的弹出窗口

在最近的项目中,遇到一个问题,要实现这样的效果:
点pic_small.Aspx页面的缩略图后弹出pic_all.aspx页面,pic_all.aspx页面的大小要根据图片大小自动调整,而且要有图片的说明信息,还可以点上一幅和下一幅等进行翻页。
实现过程如下:
pic_small.Aspx页面缩略图处的代码为:
<IMG id="imgPic" style="CURSOR: h ......

ASP.NET清除页面缓存的方法

ASP.NET清除页面缓存
     (1)   Response.Buffer = true;
             Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
             Res ......

asp.net中Cookies的操作

  由于用的是VPS主机,不知道啥原因SESSION总是丢失,无奈换Cookies。
  查一下MSDN,在ASP.NET有两个COOKIES,Response.Cookies和Request.Cookies,无论用哪个都不行,添加进去后就读取不到
后来发现通过Response.Cookies添加、Request.Cookies读取才行。下面是添加、读取、删除的代码:
//添加
HttpCookie c = ne ......

ASP.NET面试经历分享

200X年12月23日的一次面试经历(共六轮),至此9-X周年之际,和各位朋友分享,希望对各位朋友有用,有些自己的答案贴出来也仅仅是抛砖引玉,希望各位朋友不吝赐教,说句老实话,面试的时候时间很紧,很难考虑最优算法。
起因是朋友推荐我去W公司应聘Senior SDE这个职位,应该算是内部推荐了,下面是招聘要求
Title: Senio ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号