4小时长时间的时间计数和会话变量

Time count and session variable for 4 hours long time

我正在开发一个 ASP.NET Web 应用程序,该应用程序将允许进行考试,而考试将持续 4 个小时,因此担心存储如此长时间的时间计数和选择的答案。

  1. 我应该使用客户端还是服务器端计时器(倒数计时器)?
  2. 将选定的答案存储在 Session 变量中可以吗?

任何输入将不胜感激。

将会话超时设置为 4 小时将允许用户在页面上输入信息,并且在 post4 小时内返回时不必登录。

如果这是一条规则,即如果用户在四个小时后尝试保存,他们将不得不重新登录,如果不提前保存,他们的工作将会丢失,那么这已经通过设置会话超时解决了您的问题。

如果你经常post返回(Ajax或其他方式)来保存当前信息,那么4小时的超时就不需要了,你可以每5分钟post返回一次-这将使会话保持活动状态。

但是,如果用户必须仍然可以保存他们的数据 - 即使他们没有在 4 小时内保存它,那么会话超时是无关紧要的,它只是作为一种安全措施。

您可以在重定向到登录页面之前将表单数据保存在用户的post后台(如果会话超时),然后检索保存的值并在成功登录后照常继续。这可以在 global.asax.cs.

中的 Application_PostAuthenticateRequest 中截获