É possível forçar a simultaneidade de solicitação ao usar sessões do ASP.NET?

O ASP.NET não permite solicitações simultâneas para a mesma sessão; o que significa que um usuário pode fazer apenas uma solicitação por vez.

Por exemplo, digamos que temosTest1.aspx:

  public partial class Test1 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Session["test"] = 1;
      System.Threading.Thread.Sleep(int.Parse(Request.QueryString["timeout"]));
    }
  }

... eTest2.aspx:

  public partial class Test2 : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      Session["test"] = 1;
      Label1.Text = DateTime.Now.ToString("dd/MM/yy HH:mm:ss");
    }
  }

Quando visitamosTest1.aspx?timeout=10000e, imediatamente após a visitaPage2.aspx, a segunda solicitação terá que esperar 10 segundos até que a primeira solicitação seja concluída.

Acabei de aprender isso hoje e uso o ASP.NET há 5 anos! Eu realmente não acreditei até ler na parte inferior de uma página do MSDN (Visão geral do estado da sessão do ASP.NET)

Então, existe uma maneira de forçar a simultaneidade? Ou seja, além de tornar as páginas mais rápidas ou mover o código de execução longa para um encadeamento em segundo plano. Estou ciente de que você pode fazer a sessão somente leitura, mas não tenho certeza de que essa seja uma opção prática.

questionAnswers(3)

yourAnswerToTheQuestion