《asp.net完全入门手册》6

《asp.net完全入门手册》6

ID:21897228

大小:188.50 KB

页数:11页

时间:2018-10-25

《asp.net完全入门手册》6_第1页
《asp.net完全入门手册》6_第2页
《asp.net完全入门手册》6_第3页
《asp.net完全入门手册》6_第4页
《asp.net完全入门手册》6_第5页
资源描述:

《《asp.net完全入门手册》6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六篇性能优化在计算机科学领域,广泛应用缓冲技术来提高系统的性能,它的原理是把经常存取的或者是比较重要的数据保存于内存中以减少系统的响应时间。对于WEB应用领域,缓冲技术主要是把HTTP请求的页面或数据保存于内存,以减少下次使用时重建它们的耗费。ASP.NET有两种用于WEB应用的缓冲技术:输出缓冲和数据缓冲。输出缓冲指:把一次请求所产生的动态输出保存于内存中。数据缓冲指:按照一定的策略把事先不确定的对象保存于内存中。输出缓冲常用于把整个输出页面缓冲起来。对于一个存取繁忙的站点来说,把一些常用页面放入内存会带

2、来性能上的极大提高。当一个页面被放入输出缓存,那么接下来的对该页面的请求将不再执行创建它的代码,而是从内存中直接返回该页面。但实际上,保存整个输出页面的方法并不一定都行得通,因为有些页面的输出取决于客户端的不同请求,称之为“定制”。这时,采取的方法即找出不同中的相同,把一些并不需要经常重新创建的对象和数据识别出来,进行缓冲。一旦这些部分被识别,那么它们将被一次创建并在缓存中保持一定的时间。选择缓存的时间是提高性能的关键。对一些部分来说,它们需要隔一定时间进行刷新,而另一些部分来说,可能仅仅只是需要保存一段时间

3、。此种情况下,都可以设定“过期策略”来实现。一旦这些对象和数据到期,它们都将被从缓存中清除出去。当存取对象和数据的代码发现所要求的部分在内存中不存在时,将重建该对象或数据。ASP.NET支持文件和缓存关键字的依赖关系,它允许开发人员创建缓存依赖于一个外部文件或另一个缓存事物。利用这项技术可以更新一个缓存事物当其依赖的源文件发生改变时。第一章页面输出缓存6.1.1基本概念页面输出缓存通过保存动态页面的输出内容,大大提高了服务器应用的能力。缺省情况下,输出缓存选项是被打开的,但并不是任意给定的输出响应都将被缓存,

4、除非显示地指定页面应被缓存。为使输出能够被缓存,输出响应至少应有一个有效的过期/有效策略以及公用cache的访问权限。当一个GET请求被送往页面,一个输出缓冲入口将被创建。接下来,对该页面的GET请求和HEAD的请求将直接从该缓冲入口中取出返回给用户,而对该页面的POST请求通常是显示地产生动态内容,却并非如同GET和HEAD请求一样从缓冲入口中取出。输出缓存还支持带请求串的GET方法,把请求串作为页面识别的一部分。这就意味着带有相同键值但排列次序不同的请求串的GET请求,可能导致缓存中认为不存在该输出页面。

5、输出缓存需要知道页面缓存的过期/有效时间策略。如果一个页面在输出缓存中,而且又被指定为60分钟的页面过期时间,那么从它进入输出缓存开始,60分钟后该页面将从输出缓存中被清除。如果恰在此时,有一个对该页面的请求到达,页面的代码将被执行,页面输出又将重新进入输出缓冲。这种方式的过期策略称之为“强制过期”,页面只在一定时间内有效。如下,我们可以用下面一条语句来显示的指出页面在输出缓冲中的保存时间。<%@OutputCacheDuration=秒数%>6.1.2实例下面举一个简单的例子来证实ASP.NET中的页面缓存

6、功能在一个页加载时,我们显示它的时间,在页面过期时间(设为:10秒)到达之前,我们把页面刷新(相当于重发GET请求),看一看显示的时间;然后,在过期时间到达之后,再看显示的时间。如果,第一次和第二次显示的时间相同,那么就证明了,系统存在有页面输出缓存功能,做为对比,当过期时间到达后,新的请求将导致重新执行页面代码,产生新的时间显示。程序源程序<%@OutputCacheDuration="10"%>