我在 MVC3 应用程序中遇到会话问题。在一个控制器中,我收到一个发布请求,然后在重定向到控制器 get 方法之前将值添加到会话中。
问题是,在 GET 请求中,会话值返回 null,即使在 POST 请求中设置了会话值。
[HttpPost]
public ActionResult findPerson(PersonSearch searchDetails)
{
Session["FindPersons"] = searchDetails;
return RedirectToAction("findperson");
}
[HttpGet]
public ActionResult findperson()
{
PersonSearch searchDetails = (PersonSearch)Session["FindPersons"];
解决方案:
有些人在 web.config 中将会话状态 cookie 命名为与身份验证表单命名相同的名称。
<sessionState timeout="20" cookieName="Spacer" />
<forms loginUrl="/spacer/login" name="Spacer" timeout="2200" />
显然,它所产生的效果是试图将会话和cookie存储在同一个东西中。我很惊讶这并没有爆炸。
感谢您的帮助@dknaack,如果您没有为我指明正确的方向,我就不会这么快发现这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)