Anthem.NET试用手记之性能优化篇

序: 
   近日心血来潮想做一个
Asp.net ajax 试验项目,原本是使用 Ajax.Net的 , 但其后发现 Asp.net ajax 更加容易应用在 Asp.net ,所以就决定了使用 asp.net ajax 开发,而且还可以顺便边做边学一下最近园里很热的 Asp.net ajax。 但在前天看了一篇关于 Anthem.NET Asp.net ajax 的比较文章后便又尝试了一下 Anthem.NET ,发现原有项目要实现的东西在 Anthem.NET 竟然都能实现,并且易用性方面一点也不比 asp.net ajax 差,在性能方面也有了不少的提升。而在体验到上述优点之后也决定转用 Anthem.NET 开发原有项目。

    在使用Anthem.NET开发项目的试用手记第一篇,先为大家分析及优化一下
Anthem.NET 的性能。

 1、优化前的性能分析
    Anthem.NET 最新1.4CVS版的核心Anthem.dll文件为124K,比起asp.net ajaxMicrosoft.Web.Extensions.dll文件600K的个头小了几倍,而客户端脚本更是只有22KB,比起asp.net ajax几百KB的客户端脚本更是小了不少。可以看出, Anthem.NET更少的代码及脚本代码无疑意味着性能的提升!

 2、优化思路
    Anthem.NET的体积确实已经很小了,但如果能进一步缩减体积无疑会让ajax的性能再次提升,优化Anthem.dll看来没什么必要了,毕竟Anthem.Net的核心已经写得很简洁了,那剩下客户端脚本能不能优化,答案是肯定的。细心的朋友会发现asp.net ajax内置了一个WebResourceCompression功能,其功能主要就是用来压缩客户端脚本的,使用此功能就能让客户端浏览页面的时候加载的客户端脚本体积大大减少,从而实现页面加载速度的提升。但其实Anthem.NET也可以像asp.net ajax那样加上WebResourceCompression来优化性能,那么就让我们来看看下面的实现方法吧。

3、优化的实现方法
    默认
Anthem.NET并没有WebResourceCompression,我们要加上这个功能就要先下载WebResourceCompression功能模块,解压后将WebResourceCompression.dll放在Anthem.NET项目的bin目录下,然后在web.config加入这一句:

< httpModules >
            
< add  name ="WebResourceCompression"  type ="WebResourceCompression.WebResourceCompressionModule" />
</ httpModules >

这样加上WebResourceCompression后,我们用Fiddler工具来对比一下使用WebResourceCompression前后客户端加载Anthem.js的体积变化:

压缩前的体积为:22484 bytesAnthem.NET试用手记之性能优化篇_第1张图片

压缩后的体积为:
5921 bytesAnthem.NET试用手记之性能优化篇_第2张图片

    使用
WebResourceCompression后,客户端加载的js脚本减少了差不多5倍,从22KB减少到仅有5KB左右。这样就是说,为你的项目加上Ajax的效果,客户端只需多加载5KB的数据量,相当于多加显示了一幅gif小图片而已!而且脚本只会在第一次浏览页面时进行加载,之后就会进行一定时间缓存。当然,asp.net ajax也有这个功能,但压缩之后体积也比Anthem.NET大十倍以上,这样Anthem.NET第一次启动页面的速度无疑比原来加快了许多!

    综合上面分析及优化,能采用Anthem.NET实现所需要Ajax效果的项目使用Anthem.NET绝对是明智之选!

PS:WebResourceCompression模块是由Asp.net ajax内精简提取出来的模块,对原有Asp.net的兼容性是没有问题的,而且并不局限于Anthem.Net的使用,喜欢的话还可以将模块应用在其它ajax.net或普通的asp.net页面以便进行压缩客户端脚本之用!

你可能感兴趣的:(.net)