首页 新闻 搜索 专区 学院

asp.net ajax请求aspx页面

0
悬赏园豆:20 [已解决问题] 解决于 2013-06-24 09:38

由于业务需要,我需要在一个for循环里面做ajax请求,为了方便我我使用了当前页面aspx作为处理程序。

但我发现该aspx页面并不是真正的异步请求,好像是一个请求完成后才会发送下一次请求,

我又使用了ashx做了比较,发现ashx比aspx作为处理程序快多了,

请问有什么办法,可以让aspx作为处理程序是异步请求的呢。

代码跟平常的代码都差不多

//循环数组什么的
//发送ajax请求
$.ajax({
   url:location.href
   data:{"type":"getSorce","a":"b"}  
})
.......
pageload中
获取request["type"]
根据不同的type使用不同的方法
方法返回json
Response.clear();
Response.write(json);
Response.end();
//什么的
Plusone的主页 Plusone | 菜鸟二级 | 园豆:342
提问于:2013-06-09 11:09
< >
分享
最佳答案
0

我怎么觉得你是你的ajax请求的问题呢?你设置下参数asyan:true

收获园豆:20
幻天芒 | 高人七级 |园豆:36662 | 2013-06-09 11:58

ajax默认async就是true

只是我发现aspx作为ajax处理程序,比ashx慢多了,似乎是同步请求的。

Plusone | 园豆:342 (菜鸟二级) | 2013-06-09 12:32

@Plusone: ashx比aspx快是应该的,aspx要走的流程太长了。aspx本身也是异步的,这个慢不应该是同步造成的。

幻天芒 | 园豆:36662 (高人七级) | 2013-06-09 13:16
其他回答(4)
0

发现ashx比aspx作为处理程序快多了,

 

ashx比aspx更加的轻量

chenping2008 | 园豆:9836 (大侠五级) | 2013-06-09 11:47
0

想一楼说的,会慢一些,aspx有自己的生命周期。。但你的请求依然是异步的,并且aspx也是异步响应的!

滴答的雨 | 园豆:3690 (老鸟四级) | 2013-06-09 12:58

比如我调试吧 ,ashx调试,断点在方法里,ashx是方法没走完下个请求断点就开始了。

aspx里调试,是这个方法走完,下个断点请求才开始。

这个怎样解释好

支持(0) 反对(0) Plusone | 园豆:342 (菜鸟二级) | 2013-06-09 18:08
0

有这么大的差别吗????

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-06-09 14:54
0

aspx实现了System.Web.UI.Page接口,ashx实现了IHttpHandler接口,WebService.asmx也可以接受异步请求,它实现了System.Web.Services.WebService 接口。

我觉得你可以对比这三个接口,如果aspx再继承IHttpHandler接口,这只是我的思路,不知道对不对,希望能帮到你一点吧。

only-time | 园豆:4 (初学一级) | 2013-06-09 23:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册