1

我的一位同事说,MVC 3 应用程序一次处理所有传入请求。

因此,当我从网页对我的应用程序进行两次 AJAX 调用时,asp.net MVC / IIS 首先处理第一个请求,然后返回结果,然后处理第二个请求。

他有来自 MSDN 证据的这一行文档(http://msdn.microsoft.com/en-us/library/ee728598(v=vs.98).aspx )

您可以对长时间运行的非 CPU 绑定请求使用异步操作方法。这样可以避免在处理请求时阻止 Web 服务器执行工作

它说“异步操作方法”不会阻塞,所以“正常”控制器操作会阻塞。

他还说,他看到在他的页面上(在浏览器调试工具中,查看发送的请求),第一个 ajax 请求已被处理,然后,即使它与第一个 ajax 请求同时被触发浏览器,第二个。

我很难相信 IIS 每个应用程序一次只能处理一个请求?

4

1 回答 1

2

如果您在同一个会话中,那么 AJAX 查询将被序列化(一次一个)。

您可以将控制器更改为无会话。请参阅在 ASP.NET MVC3 中拥有无会话控制器的一些场景是什么?.

于 2012-09-10T11:31:37.717 回答