0

我正在使用 ColdFusion 8。我正在使用这一行来超时会话:

<CFAPPLICATION NAME="XXX" 
CLIENTMANAGEMENT="NO" 
SESSIONMANAGEMENT="Yes" 
sessionTimeout="#CreateTimeSpan(0,0,1,0)#">

我正在创建一个这样的会话:

if (not structKeyExists(SESSION, "UserInfo")) {
    SESSION.UserInfo = structNew();
}

我希望我的会话会在一分钟后超时。这无法正常工作。我已经尝试了所有数字组合,但我的会话永远不会超时。即使整个周末都没有工作(并关闭了我的浏览器),我的会话仍然正常运行。

为什么我的会话不会超时?

编辑〜我的会话没有超时的证据是,我可以访问具有会话范围内特定信息的站点,并且即使在几周不使用该浏览器之后,它也永远不会消失。

我们有三个具有三个不同名称的站点:1) XXXProd、2) XXXStage 和 3) XXXDev。

4

1 回答 1

1

您是否考虑过切换到 J2EE 会话?

<cfscript>
    session.setMaxInactiveInterval(1);
    getPageContext().getSession().invalidate();
</cfscript>
<cfcookie name="jsessionid" expires="now">
<cflocaton url="/" addtoken="false">

这不仅会杀死会话的 cookie 和 ColdFusions 知识,还会杀死底层会话。您也不需要以这种方式进行“无会话”页面请求。

根据您目前的情况,在 Server Monitor 中您可以看到正在创建和销毁的会话吗?

于 2012-08-07T09:33:44.200 回答