为了改善页面的交互性,将web页面的某些请求改成了Ajax请求。我用的是ASP.net mvc ,某个页面请求关联到某个ACTION执行相应的业务逻辑。
但是现在发现实际上如果页面请求改为异步模式的话,后台ACTION实际上还是顺序执行的?不知道大家一般是怎么处理的,感觉这样好像没有发挥出Ajax的能力 ,现在考虑是否ACTION改为某种异步委托的形式响应。感觉这样改了客户端和后台就是fullAysnc 不知道这样设计是否更合理。
另外现在有个疑惑就是页面的请求方式改为Ajax后,直接影响到后台的设计这样是否有问题?感觉影响过大了。大拿们一般怎么处理这种情况,谢谢。
想那么多干嘛,做了就知道了。
不是
ajax是浏览器的异步操作,和后台没有关系的
后台异步要看你写的代码,一般顺序就行了。如果有长时间的操作的话,就可以考虑自己实现异步。因为服务器的线程数量有限制,而且很少
后台异步只是说暂时释放了处理请求的那个线程吧。。但是响应等待还是一样的。
比如前台页面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
看完这个应该会理解一些。