MVC3在redirecttoaction上破坏会话

Mat*_*our 3 session asp.net-mvc-3

我在MVC3应用程序中的会话有问题。在一个控制器中,我收到一个发布请求,然后将该值添加到会话中,然后重定向到控制器的get方法。

问题是,即使在POST请求中设置了会话值,在GET请求中会话值也返回null。

[HttpPost]
public ActionResult findPerson(PersonSearch searchDetails)
{
    Session["FindPersons"] = searchDetails;
    return RedirectToAction("findperson");
}


[HttpGet]
public ActionResult findperson()
{
    PersonSearch searchDetails = (PersonSearch)Session["FindPersons"];
Run Code Online (Sandbox Code Playgroud)

Mat*_*our 5

解:

有些人在web.config中命名会话状态cookie名称,而身份验证表单则命名相同。

<sessionState timeout="20" cookieName="Spacer" />

<forms loginUrl="/spacer/login" name="Spacer" timeout="2200" />
Run Code Online (Sandbox Code Playgroud)

显然,它试图将会话和cookie存储在称为同一事物的事物中的效果。我很惊讶这只是没有炸毁。

感谢@dknaack的帮助,如果您未将正确的方向指向我,我不会这么快就发现这一点。