ASP.NET使用httphandler打包多CSS或JS文件以加快页面加(2)

使用HttpHandler整合器的例子

我构建了一个简单的测试网站来向你展示它的使用,该测试网站有两个CSS以及JS文件。Default.aspx仅使用一个<link>和<script>标签通过HttpCombiner.ashx来请求它们。

ASP.NET使用httphandler打包多CSS或JS文件以加快页面加


下面是Default.aspx文件的内容:

ASP.NET使用httphandler打包多CSS或JS文件以加快页面加


就像你看到的那样,有一个<link>标签向HttpCombiner.ashx发送了一个请求并提供了请求集合的名称——Set_Css,当然还有一个<script>标签请求了一个Set_Javascript的集合。

上面的两个集合都被定义在web.config文件中:


这里列出了Handler如何工作:

(1)    首先,它会从“s”参数中读取文件集合的名称

(2)    然后它从web.config文件中拿到集合的定义

(3)    它读取每一个文件,然后将它们缓存在缓冲区中

(4)    缓冲区然后通过gzip进行压缩

(5)    被压缩后的缓冲区内的内容将被发送到浏览器

(6)    被压缩后的缓冲区内的内容被存储在ASP.NET缓冲中,以让随后的对相同集合的请求能够直接地从Cache中获取数据,而不是从文件系统或外部的URL去读取每一个文件。

Handler带来的好处:

(1)    它减少了网络上的“往返”次数,你把越多的文件放到一个集合中,就越能减少网络延时,它提高了性能。

(2)    它缓存了所有的整合过的压缩响应,因此省去了一次又一次的读取文件系统并压缩它。它提供了可扩展性。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8c3ddafd50189fe39932c00117ebcbce.html