asp.net-mvc-3 - MVC3 在重定向到操作时销毁 session

标签 asp.net-mvc-3 session

我在 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/

相关文章:

c# - 将 Ninject 与 MVC 3 一起使用的最佳方法是什么?如何使用?

c# - MVC3 cookie 滑动过期不起作用

c# - 使用 Razor/MVC3 将 AssemblyVersion 放入网页时出现问题

session - 单击注销后如何从所有事件 session 中注销?

ASP.NET(MVC): Which session timeout is what?

ios - 为什么在使用该代码时图像不在 UIButton 中?

asp.net-mvc - 在多个表单上指定验证摘要

asp.net-mvc - ASP.NET MVC-信用卡数据的安全临时存储

mysql - SQLAlchemy InvalidRequestError('Transaction XXX is not on the active transaction list) 是如何发生的?

c# - ASP.NET MVC 3 Razor View 限制