2013-08-07 127 views
1

我打开应用程序中的会话管理,发现会话变量(用户定义以及cfid和cftoken)在页面之间不会持续存在,当我不打开'使用J2EE会话变量'CF管理员。一旦我打开这个设置,会话变量就会持续。下面是application.cfmColdfusion启用J2EE会话变量与Coldfusion会话变量

<cfapplication name="myapp" 
    applicationtimeout="#createtimespan(1, 0, 0, 0)#" 
    sessionmanagement="yes" 
    sessiontimeout="#createtimespan(1, 0, 0, 0)#" 
    clientmanagement="no"> 

代码双方“使用J2EE会话变量”,以及“启用会话变量”在CF管理员被打开。

当我掀起一个示例应用程序(我没有在此打开J2EE会话变量)时,一切正常工作在我的个人笔记本电脑上。

有人可以澄清为什么这种差异。为什么只有打开J2EE会话时,会话变量才会在页面之间持续存在?

+0

我会建议您的应用程序名称中没有空格。我怀疑这是导致错误,但只是我会更新的东西。 –

+0

呃,为什么没有空格? –

+0

@MattBusche:即使删除名称中的空格也是一样的 – fn79

回答

1

检查您的全球会话超时设置在CFIDE管理页面。

这将始终覆盖所有应用程序中的所有设置。

+0

_将始终覆盖所有应用程序中的所有设置_ - 如果您已在ColdFusion管理员的“设置”页面上启用了每个应用程序设置,则不会。那么情况正好相反; Application.cfc文件中的设置将覆盖管理员设置。 –