我有一个“标签式”样式的网页,一旦页面加载每个标签,都会触发Ajax请求(使用jQuery)。后端是在Visual Studio中运行的ASP.NET MVC,因此只需使用正常的“ASP.NET开发服务器”来处理请求。我遇到以下问题:jQuery Ajax - 针对ASP.NET MVC运行多个请求
1)请求由Web服务器一次处理一个。第二个请求在第一个完成之前没有处理。这是'ASP.NET开发服务器'以某种单线程模式运行吗?我可以使它成为多线程的吗(我应该让它成为多线程还是会打开一个痛苦的世界?)
2)长时间运行的请求会终止后续请求。即使我一次性抛出ajax请求,但为什么某些请求无法到达Web服务器?一旦长期请求得到服务,就会发生这种情况。例如:
- 1请求(小小的请求) - 响应好
- 第二请求(大 要求) - 反应需要一分钟或 所以但获得服务。
- 第三请求 (小请求) - 请求永不 到达服务器和jQuery确实 不报告错误。
我试过增加ajax超时但没有成功。
更新: 我发现在我的代码被搞乱的URL最终请求一个bug,因此它看起来像这样没有任何与请求长度和Ajax超时(脸红! )。一路走来,虽然我找到了有用的ajaxManager插件,如果这是您需要的(http://www.protofunc.com/scripts/jquery/ajaxManager/),那么它非常适合排队请求。另外,感谢您使用ASP.NET Dev Server进行测试的有效观点。它确实与IIS完全不同。
旁注。首先,不要在Capistrano(Visual Studios开发服务器)中测试您的应用程序的性能。它执行许多IIS在生产模式中不能执行的操作。二,第一个请求花费了比其它更多的时间,因为你的项目进行编译(同样也适用于IIS)。 – alexn 2011-02-01 14:13:12
@alexn我认为这是卡西尼 – Omu 2011-02-01 14:28:10