我正在使用 ASP.NET MVC 和 IIS 7.5 版。
我在控制器中有以下操作。
public ActionResult Wait(int time = 10000)
{
var start = DateTime.Now;
Thread.Sleep(time);
var end = DateTime.Now;
var diff = (end - start);
return Json(new {
start = start.ToString("yyyy-MM-dd HH:mm:ss.fff"),
end = end.ToString("yyyy-MM-dd HH:mm:ss.fff"),
milliseconds = diff.TotalMilliseconds.ToString("#,###"),
}, JsonRequestBehavior.AllowGet);
}
如果我访问:/wait?time=10000
然后:/wait?time=10
在第一个请求完成之前,第二个请求甚至不会执行。
这是正常行为,还是每个请求都应该在自己的线程中执行?
将这一点放在上下文中,在我们的应用程序中,不同的调用可能需要从不同的服务器询问数据,我不想在执行几个更简单的请求(仅需要本地数据)之前等待一个复杂的请求完成。
编辑
我刚刚意识到我在谈论来自同一个用户的请求(在同一个会话中)。我想我只是昏暗,但也许有人仍然可以提供帮助。