2013-08-07 64 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文件中的設置將覆蓋管理員設置。 –