如何阻止AJAX请求创建新会话

时间:2015-05-28 07:03:48

标签: asp.net ajax session cookies

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

1 个答案:

答案 0 :(得分:0)

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

  • ReadOnly - 不阻止其他请求,因为此请求不能 更新会议
  • 已停用 - 无法阻止,也是您的最佳选择 StateServer& SQL模式,因为不需要进行序列化。 请记住,所有会话都是序列化和反序列化的 用户每次。不只是您正在访问的特定密钥。

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

    public class TestController:Controller         {

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