ColdFusion会话没有超时

时间:2009-06-10 13:31:08

标签: session coldfusion timeout

我们在CF 8上的服务器上运行了2个核心应用程序,并且两者在应用程序CFC中设置了完全相同的会话超时(目前为2小时)。然而,我们看到其中一个应用程序(目前在一台服务器上目前为120,000+)的会话正在逐渐失控,我们称之为AppA,而AppB似乎很好(而AppB是我们期望更多流量的应用程序) )。

所以我做了一些进一步的挖掘,发现AppA的大多数会话都闲置了好几个小时,目前我看到的最高值超过了11个小时。

我们实际上并没有在会议上做那么多,所以我有点困惑为什么他们没有像预期的那样超时。此外,我已将this范围转储到应用程序CFC中,并显示sessionTimeout的预期值。

我唯一注意到的是,在一个实例中,我们从Session变量中为Request范围分配变量。如果它是一个不同的范围,我可能会认为这会引起GC(或其他)无法清除的某种引用。

3 个答案:

答案 0 :(得分:1)

就螺旋而言,我会说这与一些没有通过CFID / CFTOKEN维持会话的请求有关。这可能是网络服务电话,CFHTTP请求,搜索引擎机器人等。听起来像你的一个应用程序正在经历这一点。如果是这种情况,则CFHTTP通过CFID / CFTOKEN来维护会话。 Web服务有点棘手,你需要创建一个来回传递的“密钥”,整个单独的主题!可以通过设置一些条件来设置会话超时值来处理机器人。

在11个小时内,我会说这是因为它被某些东西保持活着。一些持续的民意调查?重新调整AJAX请求?它必须是继续传递ID / TOKEN的东西。

答案 1 :(得分:0)

当我在应用程序或会话范围中持久存储CFC时,我曾经在CF6.1中获取服务器锁定。现在我在请求范围中实例化它们并且锁定停止发生(没有明显的性能下降)。也许你有类似的问题。

答案 2 :(得分:0)

实际上会话结果是从另一个应用程序启动的,这个应用程序没有超过基础Application.cfc中的默认值(包括应用程序名称)。