System.Threading.Thread.Sleep(30000);
你这不是规定了等等时间吗?
你第二个tab也是走的这个线程吧。

解决方案 »

  1.   

    这篇文章是基于MVC2的,不知道新本的是不是改了。大意就是默认每个session只用一个线程处理request,就是你看到的现象,因为浏览器上的多个tab是共享session的。想要并行的话,就是用session less controller,文中有详细描述。
    Session less MVC Controller for MVC 2 / RC
    http://blogs.msdn.com/b/rickandy/archive/2009/12/17/session-less-mvc-controller.aspx?Redirected=true另一篇文章有些相关分析
    Concurrent Requests In ASP.NET MVC
    http://weblogs.asp.net/imranbaloch/concurrent-requests-in-asp-net-mvc
      

  2.   

    这里有篇文章描述如何实现session less action在MVC3中
    HowTo: Sessionless Controller in MVC3 – what & and why?
    http://blogin.codeinside.eu/2011/01/12/howto-sessionless-controller-in-mvc3-what-and-why/
      

  3.   

    谢谢大神的解答!根绝您提供的文章,找到了原因,问题解决了。
    在mvc3中 需要在controller上设置ControllerSessionState的Attribute
    在mvc4中 Attribute名字改成了SessionState  命名空间为System.Web.SessionState