【发布时间】:2014-11-07 18:27:05
【问题描述】:
首先,这是我自己的项目,不是家庭作业。
情况是这样的。我有一个 Web 应用程序(带有 MVC 5 的 ASP.NET),我使用会话来存储某些内容(例如用户信息)。现在,打开了两个选项卡,每个选项卡都在页面的一部分上。我们将它们称为 Tab A 和 Tab B。这是场景:
选项卡 A 对页面 A 打开
标签 B 对页面 B 打开
在选项卡 B 中,用户执行需要更新会话变量的操作。因此,我通过对控制器方法的 Ajax 调用将新数据写入会话变量。
但是,如果我刷新选项卡 A,会话变量中的数据不会针对选项卡 A 更新。
如果我然后刷新选项卡 B,然后返回选项卡 A 并刷新,则会话中的数据会更新选项卡 A。
另一个奇怪的事情是,如果我刷新 Tab A,但从不刷新 Tab B,那么 Tab B 认为会话数据也从未更新。
我不确定为什么在刷新 Tab B 之前会话数据不会更新。
【问题讨论】:
-
在服务器上设置断点。根据您的描述,如果 Ajax 调用没有按照您认为的方式更新会话,我不会感到惊讶。
-
我已经这样做了(我不是菜鸟哈哈)。是的,它正在按应有的方式更新会话。
-
您是否尝试过其他浏览器?也许这只是您使用的特定浏览器的一个怪癖?
-
@ChrisPratt 有一个很好的观点。尝试清除您的 cookie - 也许它们被卡住了?
-
也许尝试将 AJAX 从图片中删除以排除问题?
标签: c# asp.net-mvc-5 session-variables