2013-03-28 127 views
0

我們不得不經常重啓(每天一次),因爲我們在VPS上從SQL Server獲得9001錯誤。 重新啓動似乎可以解決問題,我們正在與我們的提供商討論它。重新啓動服務器時是否丟失會話變量?

問:我們重新啓動時是否每個人都失去了會話範圍?

+2

當coldfusion服務也重新啓動時,他們也鬆了他們的會話。 – steve

回答

4

CF10有根據查理Arehart的Hidden Gems in CF10節省會議上重啓的能力。在CF10(和Tomcat)

也許最好的隱藏的寶石

  • 能夠保存會話在重新啓動。是!
  • 一些重要的利弊認真考慮
  • 注意到在Tomcat的配置有一定的瞭解(你現在有)
  • 更多:http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html
  • 需要修改[CF10] [實例] \運行\的conf \上下文。XML
  • 中的「安裝CF 10」
  • 的Adobe的文檔的簡短討論混亂,可悲的是
  • 見P20「啓用持續會話」(原文如此)
  • 說要取消註釋XML
  • 主要是已經取消註釋行,如果未註釋,則MANAGER元素不能有空白PATH,因此:
  • 可以對其進行註釋(它在CF10中未默認註釋,但PATH爲空)
  • 或者可以設置PATH值。 PATH =「sessions.ser」將保存會話sessions.ser文件
  • 在[CF10] [實例] \運行\工作\卡塔利娜\本地主機\ tmp目錄

CF需求的變化後重新啓動取影響

  • 測試:配置/重啓/創建會話/再次重新啓動/測試,如果保存
  • 好消息:即使是複雜的變數仍然存在(查詢,氟氯化碳,結構等)
  • 疑難雜症:不僅節省了會議正常CF關機
  • 如果CF崩潰/被殺害,會話不保存/恢復
  • 但後來不超過事物的不同是現在。只是不好,如果你「預計」保存
  • 此外,可以在關機,然後啓動,特別是大量的I/O。如果許多會話
  • 你可能有多個會話比你想象的,因爲蜘蛛機器人等
  • 可能混淆你:sessions.ser文件將不會出現,而CF是高達
  • 是在關機時創建,刪除啓動後
6

是的,假設您在內存中使用ColdFusion的會話範圍。服務器重新啓動時,所有內存都會被清除。如果您使用數據庫或其他外部來源,會話可能會持續。

並且爲了它的價值,應用程序範圍和服務器範圍也被清除。

+0

客戶端變量可以存儲在數據庫中,但不會話,對不對?順便說一句,我們根本不使用客戶端變量。 –

+0

我相信通過ColdFusion管理員,但您可以開發自己的會話數據庫。這將是自定義代碼。 –

0

是的。會話是服務器端變量。我剛纔測試了它。

1

Miguel-F的回答是正確的,但是在馬的嘴巴里(Adobe docs)。我搜索了「coldfusion會話服務器重啓」來找到它 - 第三個結果。第二個結果是原本問堆棧溢出的問題,從2010年

會議:包含可用於在應用程序中的單個瀏覽器會話一個客戶端瀏覽器的變量。

對於客戶端特定信息(如購物車 內容)有用,您希望在客戶端訪問您的 應用程序時保持該信息。

數據存儲在內存中,並在服務器關閉後不活動或 超時。

ColdFusion Administrator讓您在管理,標準ColdFusion會話管理和J2EE會話 管理兩種會話 之間進行選擇。有關會話管理類型的信息,請參閱 ColdFusion和J2EE會話管理。

在變量名中使用會話作用域前綴。在Tomcat