代码之家  ›  专栏  ›  技术社区  ›  Display Name Camilo Terevinto

如何计算两个连续请求之间经过的时间?

  •  0
  • Display Name Camilo Terevinto  · 技术社区  · 15 年前

    我想用MVC 2开发一个测试站点。 一页只显示一个问题。 考生将选择或键入答案,然后按“下一步”按钮继续。

    服务器端的业务逻辑将记录两个连续页面请求之间经过的时间。不得以任何方式篡改这些时间戳,以生成可靠的诊断报告。

    处理这个问题的最好方法是什么?

    3 回复  |  直到 9 年前
        1
  •  1
  •   Jon Skeet    15 年前

    实际上,我不会记录经过的时间-我会记录时间本身(以UTC为单位)。你可以很容易地从那一页转到另一页之间,但你不能走相反的路。您很可能会发现,以后可以检查特定会话,并根据会话发生的时间进行筛选(例如,如果有人声称在特定时间遇到问题,则可以检查它们是否实际在系统上)。

    您只需要某种会话/用户标识符来跟踪用户的会话,并且您可以只记录当前时间。计时将像服务器系统时钟和数据库本身一样防篡改。

        2
  •  1
  •   marcind    15 年前

    您可以在服务器上使用会话状态。但是,如果用户打开多个选项卡/浏览器等,则必须仔细考虑会发生什么情况。

    或者,您可以将编码的时间戳发送到客户机。因为它们是编码的,客户端将无法修改它们。

        3
  •  0
  •   xandy    15 年前

    记录时间并存储在会话中。所以没有任何方法可以篡改客户端数据。