【问题标题】:How to hold a different shopping cart time for every single user session如何为每个用户会话保留不同的购物车时间
【发布时间】:2012-03-15 21:43:10
【问题描述】:

我们正在开发一个购物车应用程序。 对于每个用户会话,我必须在用户将第一个产品添加到购物车后 20 分钟才能进入结帐流程。如果用户添加另一个产品,我必须重置时钟并从头开始 20 分钟。如果用户在 20 分钟内没有做任何事情,我必须结束会话。如果用户去结帐过程,另一个结帐过程的时钟将启动。这将是 15 分钟。但是,如果他取消结帐过程并返回商店,则第一个时钟必须从它离开的地方开始......

希望我清楚。

我可以使用什么方法?我要使用线程,会话还是..?

非常感谢。

【问题讨论】:

  • 您是说如果我将产品添加到购物车并继续浏览网站而不添加新产品,会话将在 20 分钟后过期?
  • 是的,你必须在 20 分钟后结账
  • 为什么会这样,如果你不介意我问的话

标签: c# asp.net session


【解决方案1】:

您可能希望为此使用会话状态。你可以在用户每次做某事时在会话中设置一个时间戳——例如,添加一个项目/等。在你打开任何页面之前,你会检查时间,看看是否

(DateTime.Now - Session[LastAccessTime]) > new TimeSpan(0, 20, 0)

如果大于,则显示消息指出时间已过,否则继续。

在购物页面,您可以检查 20 分钟,在结帐页面,检查 15 分钟。

也请查看此答案:Session time out with Timer

【讨论】:

    【解决方案2】:

    您肯定会使用 Shiroy 提到的会话 - 但是我原以为您可以简单地使用 Session.Timeout 属性,并在您进入站点的不同区域时将其设置为适当。

    【讨论】:

      猜你喜欢
      • 2016-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-14
      • 2013-01-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多