gpt4 book ai didi

asp.net-mvc - MVC.net session 在用户之间混合

转载 作者:行者123 更新时间:2023-12-02 20:10:05 25 4
gpt4 key购买 nike

我将用户对象存储在 session 中,将它们拉出到 Controller 中,有时会向其中写入一些数据。但是当用户同时发帖时, session 会由于某种原因而混合在一起。

有人知道这是怎么可能的吗?

典型帖子:

  [HttpPost]
public ActionResult Index(QuestionModel model, FormCollection collection)
{
var person = ((Person)Session["Person"]);
if (!ModelState.IsValid)
{
ModelState.Clear();
ModelState.AddModelError("", Global.Global.error);
return View(new QuestionModel(person.page, (CultureInfo)Session["culture"]));
}
person.page = model.Page;
while (person.Answers.Count > model.Page - 1)
{
person.Answers.RemoveAt(person.Answers.Count - 1);
}
var answer = new Answer() { answer = model.ChosenAnswer, Question = "Q" + person.page };
person.Answers.Add(answer);
if (!CheckForNextPage(person.page)) { person.hasFinishedQuestions = true; return RedirectToRoute("Result"); }
person.page++;
return View(new QuestionModel(person.page, (CultureInfo)Session["culture"]));
}

我在每个页面上回显 session ID,当几个用户使用该网站时,他们会得到彼此的 session + session ID ...

@update:3位经验丰富的开发人员已经找了2天的问题了,仍然没有解决。已经删除了大约 95% 的代码,仍然是同样的问题。服务器发回另一个 session 的响应

最佳答案

这是不可能的。所以这是我的猜测:您错误地测试了这一点,您使用的是同一浏览器中的不同选项卡。有些人不知道这不会创建不同的 session 。

尝试在 2 个不同的浏览器(即 firefox 和 chrome)上进行测试,因为它们不会共享 session (因为 session ID 通常存储在 cookie 中)。

如果是这种情况,请报告。

关于asp.net-mvc - MVC.net session 在用户之间混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com