4

我一直试图找到一个瓶颈,我相信它在我们的控制器中(我怀疑是 Unity IoC)。

通过使用 MVC-Mini-Profiler,我发现了一种需要 500 毫秒来完成最简单任务的方法。

然而,在使用 DotTracer 跟踪到这个之后 - 执行线程似乎只需要 16 毫秒......

有人遇到过这个吗?

请注意 - Web.Config 中的调试模式设置为 false

点追踪器

迷你探查器

4

1 回答 1

2

我发现了这个问题的解决方案 - 事实证明这一切都与会话相关。

因为我同时向同一个服务器发出了 4 个 HTTP 请求,所以会话对象每次都被锁定,因此一旦会话对象被解锁,我的请求就会被排队并处理。

添加:

[SessionState(SessionStateBehavior.Disabled)]

到控制器作为属性强制 MVC2 向上变为无会话,从而将性能提高十倍

(答案来自:

为什么对同一个 ASP.NET MVC 操作的多个同时 AJAX 调用会导致浏览器阻塞?)

于 2012-07-30T15:30:22.990 回答