【发布时间】:2010-12-02 05:31:31
【问题描述】:
我已经构建了一个购物车,它使用 Session State 在用户浏览商店时保存购物车数据。
我有一个问题,如果我在购物车的第 1 步上长时间打开浏览器窗口,然后按“转到第 2 步”,我的操作会引发错误,因为第 2 步操作假定会话没有已过期且 ShopCart 对象处于正确状态。
我希望这个场景对我的用户更好,但我认为我需要以某种方式检测会话是否已过期,以便在下一次请求时我可以将它们扔到第 1 步。
我找到了以下声称可以解决问题的代码,但它对我不起作用。
IsNewSession 条件为真,但条件
if ((null != sessionCookie) && (sessionCookie.IndexOf("ASP.NET_SessionId") >= 0)) {
// handle expired session
}
总是返回 false 并且它从不处理无效会话。我很困惑。
这在 ASP.NET(和 MVC)中可行吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc session session-state