.net - jQuery Ajax - 针对 ASP.NET MVC 运行多个请求

标签 .net jquery asp.net-mvc ajax

我有一个“选项卡式”样式的网页,页面加载后,每个选项卡都会对其内容触发 Ajax 请求(使用 jQuery)。后端是在 Visual Studio 中运行的 ASP.NET MVC,因此只需使用普通的“ASP.NET 开发服务器”来处理请求。我遇到以下问题:

1) 网络服务器一次处理一个请求。在第一个请求完成之前,不会处理第二个请求。这是在某种单线程模式下运行的“ASP.NET 开发服务器”吗?我可以让它成为多线程吗(我应该让它成为多线程还是这会打开一个痛苦的世界?)

2) 长时间运行的请求会杀死后续请求。即使我一次发出所有 ajax 请求,但每次都会为这些请求提供服务,为什么某些请求会这样做甚至无法到达网络服务器?一旦长请求得到服务,就会发生这种情况。例如:

  • 第一个请求(小请求)- 回复好
  • 第二个请求(大 请求) - 响应需要一分钟或 所以但确实得到了服务。
  • 第三个请求 (小请求)- 永不请求 到达服务器并且 jQuery 完成 不报告错误。

我尝试增加ajax超时但没有成功。


更新: 我在我的代码中发现了一个错误,它弄乱了最终请求的 URL,因此看起来这与请求长度和 ajax 超时无关(脸红!)。一路上,我发现了有用的 ajaxManager 插件,如果您需要的话,它非常适合排队请求(http://www.protofunc.com/scripts/jquery/ajaxManager/)。另外,感谢您提供有关使用 ASP.NET Dev Server 进行测试的有效观点。它确实与IIS有很大不同。

最佳答案

关于第 1 点,请记住,如果您使用 session 状态,则请求将不会同时执行 - ASP.NET 将锁定 session 状态,并且每次只处理使用它的每个请求。 (有关详细信息,请参阅 http://msdn.microsoft.com/en-us/library/ms178581 中的“并发请求和 session 状态”部分)尝试禁用 session 状态(当然,如果您没有使用它!)并查看是否有帮助。

关于.net - jQuery Ajax - 针对 ASP.NET MVC 运行多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863510/

相关文章:

c# - 在 iOS 中使用 .NET 和 Objective-C 创建聊天服务器?

javascript - 如果使用 jQuery val() 或 JavaScript 更改值,则输入事件不起作用

asp.net-mvc - 如何从 ASP.NET MVC 3 中的授权过滤器中排除一个 Controller 操作?

javascript - window.scroll 在我使用 jquery 的情况下不起作用

jquery - 单击浏览器后退按钮,部分 View 不再显示?

.net - 如何使用 silverlight 3 DataGrid 插入新行(而不使用 DataForm)?

.net - Mono 是否足够强大以进行严肃的企业开发?

.net - 是否有一种简单的方法可以将服务引用添加到一个程序集,但将客户端配置保留在另一个程序集中?

javascript - 为什么我的 find ('a' ) 在 jquery 中不起作用?

javascript - 在 Firefox 上使用 ajax 和 jQuery 单击时,编辑框文本不会被选中