我在 MVC3 应用程序中遇到 session 问题。在一个 Controller 中,我收到一个发布请求,然后在重定向到 Controller get 方法之前将值添加到 session 中。
问题在于,即使在 POST 请求中设置了 session 值,在 GET 请求中 session 值也会返回 null。
[HttpPost]
public ActionResult findPerson(PersonSearch searchDetails)
{
Session["FindPersons"] = searchDetails;
return RedirectToAction("findperson");
}
[HttpGet]
public ActionResult findperson()
{
PersonSearch searchDetails = (PersonSearch)Session["FindPersons"];
最佳答案
解决方案:
有些人在 web.config 中将 session 状态 cookie 命名为与身份验证表单命名相同的名称。
<sessionState timeout="20" cookieName="Spacer" />
<forms loginUrl="/spacer/login" name="Spacer" timeout="2200" />
显然,它所产生的效果是尝试将 session 和 cookie 存储在同一个东西中。我很惊讶这并没有爆炸。
感谢您的帮助@dknaack,如果您没有为我指明正确的方向,我不会这么快发现这一点。
关于asp.net-mvc-3 - MVC3 在重定向到操作时销毁 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9004106/