ColdFusion中是否有“ThisVisit”时间戳?

时间:2012-06-11 11:15:26

标签: coldfusion

Coldfusion有一个系统创建的客户端变量,名为lastvisit。

有没有办法在实际设置的请求中获取该变量的值(即client.thisvisit)?

我的想法是我可以在会话中存储“ThisVisit”时间戳,然后在下一个请求时将其与lastvisit进行比较。这会告诉我是否在会话中提出了另一个请求。

目的是我们有一个页面,我们使用ajax记录锁定,每分钟刷新一次锁定。六十分钟后,ajax锁定代码将自动将用户登出网站(由于不活动)。问题出现在用户正在其他窗口/选项卡中执行任务的情况下(活动指示)。

感知所有请求更新LastVisit,我想让ajax锁定代码保存一个“thisvisit”值,以便下次运行它可以将它与LastVisit客户端变量进行比较。

1 个答案:

答案 0 :(得分:2)

一些要求:

  • 设置为您的客户端变量使用数据库而不是注册表(信任 我)。
  • 客户端变量必须启用“全局变量”
  • 您的cfapplication或application.cfc必须启用客户端管理。

如果你有这三件事,你可以选择如下的查询:

<cfquery name="getLvisit" datasource="myClientVarsDB">
    SELECT lvist 
    FROM   cglobal
    WHERE  cfid = 
        <cfqueryparam type="CF_SQL_CHAR" value="#urltoken#"/>
</cfquery>

urltoken可能是错的......它可能需要jsessionID或CFID,但我的内存告诉我cftoken。我不得不使用客户端数据库搜索网站,以便给出明确的答案。

这样就可以得到lvisit变量的当前值。你会将它存储在会话中,然后将它与后续查询中的表中的值进行比较,然后再次覆盖(如果这有意义的话)。

注意 - 此值会在每个请求中更新 - 因此您的查询将获得当前值(之前已更新)。我以前认为它已经更新第一次但根据Tom它实际上已经更新了 last