【问题标题】:How to block an AJAX request from creating a new session如何阻止 AJAX 请求创建新会话
【发布时间】:2015-05-28 07:03:48
【问题描述】:

我在 ASP.NET MVC 中开发了一个不使用 cookie 的应用程序。一旦用户通过身份验证,我会将一些值存储在会话变量中。但是,当我发出 AJAX 请求时,这些值会被清除。在谷歌搜索中,我发现 AJAX 请求创建了一个新会话。有没有办法阻止 AJAX 创建新会话并使用现有会话?

【问题讨论】:

    标签: asp.net ajax session cookies


    【解决方案1】:

    Microsoft 在 System.Web.SessionState.SessionStateBehavior 中提供了 ENUM 值,允许我们放弃对独占会话锁的权利。主要是价值观:

    • ReadOnly – 不阻止其他请求,因为此请求不能 更新会话
    • 已禁用 – 无法阻止,是您在 StateServer 和 SQL 模式,因为不需要发生序列化。 请记住,所有会话都是序列化和反序列化的 用户每次。不仅仅是您正在访问的特定键。

      [SessionState(System.Web.SessionState.SessionStateBehavior.ReadOnly)]

      公共类 TestController : 控制器 {

              public ActionResult Index()
              {
                  System.Threading.Thread.Sleep(10000);
                  return new EmptyResult();
              }
          }
      

    【讨论】:

      猜你喜欢
      • 2012-12-20
      • 2012-11-30
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      • 2014-05-13
      • 2019-11-04
      相关资源
      最近更新 更多