Asp.Net核心会话变量被覆盖

时间:2018-10-10 10:13:45

标签: asp.net session asp.net-core

我有一个Asp.Net Core应用程序。我使用会话来跟踪用户可能访问的对象。 在网站的其中一个页面上,我有两个由JavaScript AJAX加载的列表。找到这些列表的记录的ID后,这些ID就会作为序列化的字符串(以int列表为例)存储在会话变量中。 这些是2个唯一列表,具有2个唯一会话变量,可以将它们称为List1和List2。 所以最终结果如下:

List1 = [1,2,3,4,5]
List2 = [100,101,102,103]

问题在于,由于这两者是同时或通过JS快速调用的,因此会话服务器端似乎被最后存储的那一个覆盖。 我正在使用HttpContext.Session.SetString设置这些。 在调用第二个列表之前,我曾尝试使用第二个setTimeout来使所有内容正常工作,但这并不是最优雅或最可靠的方法。 似乎在调用SetString时整个Session对象都已更新,而我最终丢失了一个或另一个列表的Session变量。

有没有解决的办法,或者我缺少什么?

谢谢!

大卫

0 个答案:

没有答案