哪些操作会导致 Coldfusion 会话延长?

What actions cause a Coldfusion session to be extended?

当您在 application.cfmapplication.cfc 文件中设置 ColdFusion 会话时,您可以定义一个 sessionTimeout,例如:

<cfapplication name = "appname" 
sessionTimeout = #CreateTimeSpan(0, 0, 30, 0)# <!--- 30min timeout --->
sessionManagement = "yes">

我认为 ColdFusion 会话每次都是 'extended' 或 'renewed':

  1. 用户导航到新的 ColdFusion 模板(.cfm 文件)
  2. 用户刷新 Coldfusion 模板(.cfm 文件)
  3. 用户以任何方式访问 ColdFusion 组件(.cfc 文件),包括通过 ajax 调用 .cfc 文件中的 运行 cffunction

换句话说,如果用户执行上述任何操作(假设 sessionTimeout 是 30 分钟,如上例所示)会话将在操作执行后 30 分钟后过期——本质上'extending' 每次用户执行这些操作之一时,会话的生命周期为 sessionTimeout 的值。

这个理解听起来正确吗?是否有任何 'extend' 我缺少的 ColdFusion 会话的操作?我列出的那些实际上表现得像我认为的那样吗? 'extend' 会话?

这里问了类似的问题:Can we renew session in Coldfusion?

亚历克斯说的是真的。如果您查看文档,有一种方法可以在没有 cookie 的情况下维持会话。查看 Using client and session variables without cookies.

部分

我能想到的在没有用户干预的情况下扩展会话的唯一其他方法是,如果您可以通过 SessionTracker 找到会话。这是一个很好的post:Advanced ColdFusion Session Management

事实上,在评论中,它说如果您通过内置的 java 方法访问会话,您可能会扩展它们:

You might want to note that as soon as you access any sessions through those methods, you'll update the "lastAccessed" timestamp.