title: ASP.net session request queuing
body: <p>It seems to me that ASP.net queues up all requests that use the same Session ID. Let's say you've got 3 pages.</p>
  
  <p>Default.aspx</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {
      Session["asdf"] = "LOLZ";
  }
  </code></pre>
  
  <p>Hitting this page would obviously create a new session if one doesn't exist.</p>
  
  <pre><code>X-AspNet-Version: 2.0.50727
  Set-Cookie: ASP.NET_SessionId=ibjphuv0aiafqi453tyze345; path=/; HttpOnly
  </code></pre>
  
  <p>Then you hit Hang.aspx</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
  {
      Thread.Sleep(10000);
  }
  </code></pre>
  
  <p>And immediately after you hit any other page that this session ID would be passed to, doesn't matter if it does anything, let's call it Test.aspx.</p>
  
  <p>The sequence for loading is like so.</p>
  
  <pre><code>Request            Timeline
  "GET /"            |*|
  "GET /Hang.aspx"       |******************************************|
  "GET /Test.aspx"            |**************************************|
  </code></pre>
  
  <p>I guess my question is how do I disable this feature. I understand it's useful to have so that session state can be more predictable, however in my case a long running reports page load is killing users' ability to multitask.</p>