首页 新闻 会员 周边 捐助

关于页面请求改成Ajax请求后,后台的响应是否也得修改成异步的?比较迷惑

0
悬赏园豆:5 [已关闭问题]

     为了改善页面的交互性,将web页面的某些请求改成了Ajax请求。我用的是ASP.net mvc ,某个页面请求关联到某个ACTION执行相应的业务逻辑。

    但是现在发现实际上如果页面请求改为异步模式的话,后台ACTION实际上还是顺序执行的?不知道大家一般是怎么处理的,感觉这样好像没有发挥出Ajax的能力 ,现在考虑是否ACTION改为某种异步委托的形式响应。感觉这样改了客户端和后台就是fullAysnc 不知道这样设计是否更合理。

    另外现在有个疑惑就是页面的请求方式改为Ajax后,直接影响到后台的设计这样是否有问题?感觉影响过大了。大拿们一般怎么处理这种情况,谢谢。

大时代的悲剧的主页 大时代的悲剧 | 初学一级 | 园豆:165
提问于:2010-03-31 20:39
< >
分享
其他回答(2)
0

想那么多干嘛,做了就知道了。

路过秋天 | 园豆:4787 (老鸟四级) | 2010-04-01 09:22
0

不是

ajax是浏览器的异步操作,和后台没有关系的

后台异步要看你写的代码,一般顺序就行了。如果有长时间的操作的话,就可以考虑自己实现异步。因为服务器的线程数量有限制,而且很少

LittlePeng | 园豆:3445 (老鸟四级) | 2010-04-01 10:50
0

后台异步只是说暂时释放了处理请求的那个线程吧。。但是响应等待还是一样的。

比如前台页面A发送了请求Q道服务器B,B会启动一个线程T来处理Q。后台程序中的异步的意思是,T处理Q时把其中耗时的任务交给另一个T2线程处理(比如io线程),这样线程T就会从请求Q解放出来,而这个时候T就可以去处理另一个请求Q2了(这时A仍然是在等待响应的),然后等到T2处理完之后会把结果交给又一个线程T3,T3负责吧请求Q的处理结果返回给A。

哎。。。我说的太绕了。。。建议去看看线程方面的文章吧。。。反正后台程序所说的异步和 Ajax里面的异步是没有什么关系的。

http://dev.yesky.com/msdn/189/2396189.shtml

http://dev.tot.name/dotnet/html/20090319/20090319092637.htm

看完这个应该会理解一些。

lsjwzh | 园豆:113 (初学一级) | 2010-04-12 22:04
“后台ACTION实际上还是顺序执行的?” 这是由iis接受请求的顺序来确定的。。。这里出现这种情况的原因实际是因为你前端的Ajax请求是顺序发出的(在本机上测试的话,iis接受请求的顺序一般都会和发出请求的顺序一致。)。你可以试下,将其中某个ajax请求的创建延迟一点。 其实顺序还是乱序应该都是无所谓的。。Ajax的关注点在于,你发出请求的时候,用户可以干其他的事情,不会因为这个请求没有响应而造成不能进行其他操作的情况。
支持(0) 反对(0) lsjwzh | 园豆:113 (初学一级) | 2010-04-12 22:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册