如何在Coldfusion中超出客户端范围的变量?

Jos*_*ody 6 cookies coldfusion scope timeout

如果这是一个"问题",我道歉.似乎答案应该很容易谷歌,但我还没有找到它.

我正在研究一个大型Coldfusion应用程序,它在客户端作用域中存储大量会话/用户数据(即<cfset Client.UserName ="JoshuaC">).我没有写这个应用程序,我没有重大的重构它的奢侈.

我被赋予了将客户端变量设置为72小时后超时的任务.我不完全确定如何做到这一点.如果我编写了应用程序,我会将变量存储在Session范围中,然后更改CFAPPLICATION标记的sessiontimeout属性.虽然如此,我不确定该超时是否会影响客户端变量,或者它们的持久性水平是什么.应用程序现在的工作方式,客户端变量永远不会超时,只清除用户的cookie,或访问将所有客户端范围的应用程序变量设置为""的注销页面,将清除这些值.

当然,我可以创建某种时间戳变量,如Client.LastAccessDateTime,并在Application.cfm中添加一些内容,以清除客户端变量,如果该日期时间超过Now()之前的72小时.但是必须有一个更好的方法,对吧?

And*_*aus 4

根据您是否使用数据源或注册表作为客户端存储,您必须在客户端上设置“清除 90 天到 3 天(= 72 小时)未访问的客户端的数据”。

ColdFusion 管理员 => 客户端变量 => 注册表

或者

客户端变量 =>数据库名称页。

如果客户端变量存储为 cookie,那么您必须在设置 cookie 时调整过期时间。

客户端变量页面上的清除间隔仅控制 ColdFusion 对客户端存储执行清除操作的频率(= 寻找过期的客户端变量以将其删除)。