Javascript 通过ajax降低mvc局部视图的加载速度

Javascript 通过ajax降低mvc局部视图的加载速度,javascript,asp.net,html,ajax,asynchronous,Javascript,Asp.net,Html,Ajax,Asynchronous,在通过Ajax加载多个局部视图时,我们遇到了一个小问题,我无法缩小这个问题的范围 点击一个按钮,页面将加载6个部分视图 我们最初让服务器在单个页面上呈现部分视图,但是这意味着处理以串联方式运行,页面不会很快返回 因此,我创建了一点javascript,可以运行并异步ajax请求来刷新它们(请注意,在标记中呈现部分视图url是为了暂时简化这一过程) 现在的问题是,尽管每个部分视图请求需要大约0.7秒才能返回(使用Fiddler进行检查),但Firebug的输出显示了一些不同的东西 fiddler

在通过Ajax加载多个局部视图时,我们遇到了一个小问题,我无法缩小这个问题的范围

点击一个按钮,页面将加载6个部分视图

我们最初让服务器在单个页面上呈现部分视图,但是这意味着处理以串联方式运行,页面不会很快返回

因此,我创建了一点javascript,可以运行并异步ajax请求来刷新它们(请注意,在标记中呈现部分视图url是为了暂时简化这一过程)

现在的问题是,尽管每个部分视图请求需要大约0.7秒才能返回(使用Fiddler进行检查),但Firebug的输出显示了一些不同的东西

fiddler的输出在几毫秒内是一致的,但是firebug的输出和用户的视觉效果似乎一直在变化

我猜javascript是如何工作的,渲染是如何工作的,但也许我只是做错了什么


我正在使用ASP.NET MVC3,但是,我不确定它是否相关,因为Fiddler显示IIS正在及时返回数据。

这个问题是控制器操作没有标记为只需要对会话状态进行读取访问

ASP.NET中的SessionState有一个“功能”,即只有一个请求可以独占访问会话,然后所有其他请求都会在其后面“排队”

我所需要做的就是将不需要对会话进行写访问的操作方法分离到另一个控制器中,并添加:

[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]
作为新控制器的属性


viola,现在的网站性能非常好,非常快。

这是在生产服务器上吗?否则,您的开发服务器可能无法有效地处理这么多(几乎并发)请求。为什么不从一个单独的请求中交付一个JSON对象,从中可以更新所有的部分内容呢?我们已经在performance server上尝试过了,也是一样的。这个问题与处理仍然需要串联运行一样,我们将等待所有部分的数据返回,然后再显示其中任何一个部分。
[SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]