代码之家  ›  专栏  ›  技术社区  ›  Nick Bolton

使用时是否可以强制请求并发ASP.NET会议?

  •  10
  • Nick Bolton  · 技术社区  · 14 年前

    例如,假设我们有 Test1.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"]));
        }
      }
    

    Test2.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");
        }
      }
    

    Test1.aspx?timeout=10000 Page2.aspx

    我今天刚学的,我一直在用ASP.NET5年了!直到我在MSDN页面的底部看到它,我才真正相信它( ASP.NET Session State Overview ).

    那么,有没有办法强制并发呢?也就是说,除了加快页面速度,或者将长时间运行的代码移到后台线程之外。我知道您可以将会话设置为只读,但我不完全确定这是一个实用的选项。

    3 回复  |  直到 14 年前
        1
  •  3
  •   eglasius    14 年前

    尽管我刚刚从问题中学到了这一点,但我还是要确保检查中的锁定会话存储数据部分 Implementing a Session-State Store Provider ,以获取有关为什么这样做的更多信息。

    基于上述情况,试图绕过这一机制似乎真的不是一个好主意。

    • 如果不需要,请禁用会话。最重要的是这样做,如果你是发送任何大的请求。
    • 避免不必要地使用会话。

    所有这些都是你应该已经在做的事情。

        2
  •  1
  •   LukeH    14 年前

    据我所知,如果不创建自己的会话状态提供程序,这是不可能的。

    (如果您使用SQL Server作为会话存储,那么 可以

        3
  •  1
  •   Smartik.NET    11 年前

    .NET Framework 4.5添加了一个新的 HttpContext.SetSessionStateBehavior 方法,可用于设置整个应用程序的会话行为