2013-03-28 88 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