一. ASP.NET AJAX (Atlas)
(一) 普通ASPNET页面与使用AJAX页面比较
在服务端提供Employee GetEmployee(int employeeID)方法,客户端通过调用此方法并将Employee的信息显示给用户。
ü Normal 未采用AJAX技术
ü UpdatePanel 采用UpdatePanel实现局部更新
ü PageMethod AJAX页面级方法调用
ü WebService AJAX WebService方法调用
cs-method |
times |
cs-uri-stem |
sc-bytes |
cs-bytes |
time-taken |
GET |
1 |
|
1670 |
272 |
15 |
GET |
1 |
UpdatePanel |
2656 |
277 |
0 |
GET |
1 |
PageMethod |
4892 |
276 |
0 |
GET |
1 |
WebService |
2912 |
276 |
0 |
POST |
2 |
|
1823 |
768 |
0 |
POST |
2 |
UpdatePanel |
1135 |
696 |
0 |
POST |
2 |
PageMethod |
343 |
457 |
15 |
GET/POST |
2 |
WebService1/js |
530 |
846 |
0 |
POST |
3 |
|
1823 |
878 |
0 |
POST |
3 |
UpdatePanel |
1135 |
818 |
0 |
POST |
3 |
PageMethod |
343 |
457 |
15 |
POST |
3 |
WebService |
342 |
457 |
0 |
注:WebService1/js由两部份组成:WebService的JS下载和GetEmloyee方法的调用 第一次访问WebService时下载JS,手动页面刷新时会重新下载
|
|
||||
js |
188 |
389 |
|||
Get Employee |
342 |
457 |
|||
|
530 |
846 |
特点:
ü 普通页面第一次打开较快,但之后的操作慢,且会产生页面闪烁
ü 使用UpdatePanel显示效果有所改善,且之后的操作在性能有一定提高,从开发角度实现比较简单
ü PageMethod和WebService方式相差不多,因WebService是在需要时才下载脚本,第一次打开数据量稍小,后面的操作两者处于相同水平;
(二) Ajax Control Toolkit
Ajax Control Toolkit是微软的Atlas开发工具的开源控件,封装了不少AJAX效果实现。
参考资料: http://ajax.asp.net/
http://jeffreyzhao.cnblogs.com/
二. AJAX.NET Professional
(一) AJAX Pro 与 ASP.NET AJAX流量对比
cs-method |
times |
cs-uri-stem |
sc-bytes |
cs-bytes |
time-taken |
GET |
1 |
PageMethod |
4892 |
276 |
0 |
GET |
1 |
WebService |
2912 |
276 |
0 |
GET |
1 |
ajaxpro |
1506 |
1667 |
15 |
POST |
2 |
PageMethod |
343 |
457 |
15 |
GET/POST |
2 |
WebService |
530 |
846 |
0 |
POST |
2 |
ajaxpro |
433 |
504 |
0 |
POST |
3 |
PageMethod |
343 |
457 |
15 |
POST |
3 |
WebService |
342 |
457 |
0 |
POST |
3 |
ajaxpro |
433 |
504 |
0 |
注:ajaxpro第一次需要下载多个文件,手动页面刷新时会重新下载 |
|||||
GET |
1 |
prototype.ashx |
188 |
434 |
0 |
GET |
1 |
core.ashx |
188 |
429 |
0 |
GET |
1 |
converter.ashx |
188 |
434 |
0 |
GET |
1 |
ASP.ajaxpro_pagemethod_aspx |
942 |
370 |
15 |
`和ASP.NET AJAX相比,收发数据总和相当
参考资料: http://www.ajaxpro.info/
三. Anthem.NET
(一) Anthem与ASP.NET AJAX、AJAX Pro比较
cs-method |
times |
cs-uri-stem |
sc-bytes |
cs-bytes |
time-taken |
|
|
|
|
|
|
GET |
1 |
PageMethod |
33486 |
275 |
31 |
GET |
1 |
AnthmButton |
33306 |
276 |
15 |
GET |
1 |
WebService |
2912 |
276 |
0 |
GET |
1 |
ajaxpro |
1506 |
1667 |
0 |
POST |
2 |
PageMethod |
413 |
633 |
15 |
POST |
2 |
AnthmButton |
616 |
668 |
15 |
GET |
2 |
WebService |
530 |
846 |
0 |
POST |
2 |
ajaxpro |
433 |
504 |
0 |
POST |
3 |
PageMethod |
413 |
633 |
0 |
POST |
3 |
AnthmButton |
616 |
776 |
0 |
POST |
3 |
WebService |
342 |
457 |
0 |
POST |
3 |
ajaxpro |
433 |
504 |
0 |
第一次进入页面数据量比较大
参考资料: http://anthemdotnet.com/
四. Prototype 的 AJAX功能
Prototype提供对AJAX的有效支持,且非常简洁,仅一个JS文件不需要其他支持
cs-method |
times |
cs-uri-stem |
sc-bytes |
cs-bytes |
time-taken |
GET |
1 |
Prototype |
1710 |
696 |
1078 |
GET |
1 |
WebService |
2912 |
276 |
0 |
GET |
1 |
ajaxpro |
1506 |
1667 |
0 |
GET |
2 |
Prototype |
300 |
452 |
78 |
GET |
2 |
WebService |
530 |
846 |
0 |
POST |
2 |
ajaxpro |
433 |
504 |
0 |
GET |
3 |
Prototype |
300 |
452 |
0 |
POST |
3 |
WebService |
342 |
457 |
0 |
POST |
3 |
ajaxpro |
433 |
504 |
0 |
|
|
|
|
|
|
GET |
1 |
Prototype |
1497 |
278 |
1078 |
GET |
1 |
prototype.js |
213 |
418 |
0 |
|
|
|
1710 |
696 |
|
GET |
1 |
prototype.js |
96312 |
418 |
31 |
这里js的下载流量未计入
参考资料: http://www.prototypejs.org/