【老鸟】进来谈谈!处理同样业务逻辑,用【Ajax】向ashx传递数据与直接用【aspx】,哪个效率高?各自优势?
【老鸟】进来谈谈!处理同样业务逻辑,用【Ajax】向ashx传递数据与直接用【aspx】,哪个效率高?各自优势?
如果用前者,好处:
a,界面代码与后台业务代码的分离,提高可移植性;
b.不用服务器控件也可以向服务器传递数据了(把form的action属性设为ashx地址)
缺点:
暂时没想到。
应用:
如,通常网站的注册页面,如果用前者,日后如果要改到其他项目,前端HTML可以根本不用改,只要把ashx地址更换即可。
------解决方案--------------------ashx高 因为aspx是页面。。加载的话内容很多。
------解决方案--------------------aspx 页面基本的。他会有aspx页面解析 过程
------解决方案--------------------
这问题没什么可讨论的。效率不取决于这个。你实际是在问ajax效率高还是全页面刷新效率高。但是除非你做的是SPA(single page application),一般来说网站是不需要全程ajax的。不管你是全页面刷新也好,ajax也好,你都是在服务器端处理http请求罢了。如果真要说区别,那ajax必然返回的数据量要小于全页面刷新,那么至少从数据传输量角度考虑,ajax要更“先进”一些。
------解决方案--------------------aspx 页面基本的。他会有aspx页面解析 过程
是的!
asp.net会进行冗长的初始化、创建Page对象、进行所有页面生命周期解析和事件触发等等行为。
对于ajax的数据访问,使用aspx是因为不懂ashx,跟技术本身无关。
------解决方案--------------------ashx效率更高,因为请求aspx页面asp.net要生成对应page类一个的对象,执行的代码更多
------解决方案--------------------一般建议 使用 【Ajax】 ,理论上速度会快,因为少做了很多事情,但是实际上呢,有空做个测试看看。
就好比轿车快还是火车快?
Ajax很简单,就好比 轿车,aspx好做很多事情,就好比火车。
不过呢,你该坐轿车就去做轿车,该做火车就去做火车。一般不会去考虑他们的速度到底如何。
========
为啥用aspx?因为ashx是后出来的,有些老框架不爱改。
------解决方案--------------------做了一个简单的测试,
建立一个空的a.aspx ,就是默认的,自动创建后没有做任何修改
在建立一个a.ashx,也是默认的。
用chrome f12,看看这两个页面的访问情况,请看下图
服务器端的处理时间都是1ms。
从步骤上看,aspx肯定多种很多事情,但是从处理时间上看,单次操作几乎没啥区别。