Ajax发布后未保存会话(SessionState SqlServer)

时间:2018-06-26 13:44:04

标签: sql-server ajax session post state

我有时在会话中保存数据时遇到问题。 在我的ASP.NET项目中,使用

将数据保存到我的会话数据库中
HttpContext.Current.Session[key] = value;

当我尝试使用来获取数据时,效果很好

return HttpContext.Current.Session[key]

但是在某些情况下,当我尝试获取它时,我在会话中保存的数据会丢失。

我做了一些研究,发现将数据保存到会话时,[dbo]。[TempUpdateStateItemLong]未执行 (在其他情况下,[dbo]。[TempUpdateStateItemLong]执行正确)

此cas发生在我对控制器执行ajax POST调用时。在该控制器中,我从数据库获取数据并将其(字节数组)存储在我的Session中。

稍后尝试访问它时,会话密钥和数据会丢失。 (只有之前存在的密钥才在会话中。)

这是我做的Ajax调用:

post: function (url, d, callback) {
        $.ajax({
            url: url,
            data: d,
            method: "POST",
            async: true,
            //contentType: "application/json; charset=utf-8",
            dataType: "json",
            cache: false
        })
            .done(function (data, status, xhr) {
                if (callback) {
                   callback(data);
                return;
               [...]
            })
            .fail(function (xhr) {
               [...]
            })
            .always(function (xhr) {
              [...]
            });
    },

有人知道为什么不保存我的数据吗?以及如何解决?

谢谢

0 个答案:

没有答案