首页新闻找找看学习计划

【老鸟】进来谈谈!处理同样业务逻辑,用【Ajax】向ashx传递数据与直接用【aspx】,哪个效率高?各自优势?

0
悬赏园豆:10 [已解决问题] 解决于 2013-10-07 22:13

【老鸟】进来谈谈!处理同样业务逻辑,用【Ajax】向ashx传递数据与直接用【aspx】,哪个效率高?各自优势?

如果用前者,好处:
a,界面代码与后台业务代码的分离,提高可移植性;
b.不用服务器控件也可以向服务器传递数据了(把form的action属性设为ashx地址)
缺点:
暂时没想到。

应用:
如,通常网站的注册页面,如果用前者,日后如果要改到其他项目,前端HTML可以根本不用改,只要把ashx地址更换即可。

alone2013的主页 alone2013 | 初学一级 | 园豆:46
提问于:2013-09-28 15:34
< >
分享
最佳答案
1

ashx

更快

因为所有的请求在asp。net 中 都会走Ihttphandle这个借口

而page继承这个接口

同时在里面定义的page的生命周期及

page_init

page_load

page_render等

而显然 同样继承ihttphandle的ashx就少了这部分的冗余

所以无论怎么看 在性能上都是ashx有优势

收获园豆:2
小眼睛老鼠 | 老鸟四级 |园豆:2774 | 2013-09-29 14:47
其他回答(3)
0

如果不需要有页面返回,则可以选用ashx,反之则用aspx

同样的业务处理,ashx会比aspx效率高点

收获园豆:3
Yu | 园豆:12944 (专家六级) | 2013-09-28 17:04
0

ashx更快 它不需要走页面生命周期,也就是aspx的事件等等  而aspx可以说是复杂的ashx

收获园豆:3
秋壶冰月 | 园豆:5443 (大侠五级) | 2013-09-28 18:25

那平时看一些ASP.NET架构的网站,为什么很少见到是向ashx提交数据呢?(即使不需要有页面返回时也很少见,用抓包工具看到,是302转向了的)

支持(0) 反对(0) alone2013 | 园豆:46 (初学一级) | 2013-09-28 21:51

@TianYi3G2013: 看的时间太少,看的架构太少,建议精读《asp.net 本质》

支持(0) 反对(0) arg | 园豆:1047 (小虾三级) | 2013-09-28 23:06

@arg: 很感谢你的提醒!

支持(0) 反对(0) alone2013 | 园豆:46 (初学一级) | 2013-09-28 23:41

@TianYi3G2013: 我感觉是公司和个人的习惯的问题吧! 处理复杂逻辑的时候,用aspx,在用ashx(ajax处理局部数据),用aspx可以状态保持、页面缓存、Session等,就单说页面如果在页面加上缓存,减少数据库的交互,也就降低数据库的压力,不就提高系统的性能;aspx与ashx各有千秋,搭配使用比较好!

支持(0) 反对(0) 秋壶冰月 | 园豆:5443 (大侠五级) | 2013-09-29 00:37
0

速度上,Ashx更快。Asp.Net的生命周期,直接走到HttpHandler就结束了(比完整的周期少几步)。个人觉得, 涉及到Ajax处理的东东,最好都用Ashx。既然是Ajax,我想前台的变化一般是局部了,从完整的页面流程,可能比较浪费。

收获园豆:2
幻天芒 | 园豆:36544 (高人七级) | 2013-09-28 23:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册