0

我们不得不频繁重启(每天一次),因为我们从 VPS 上的 SQL Server 收到 9001 错误。重新启动似乎可以解决问题,我们正在与我们的提供商讨论它。

问:当我们重新启动时,每个人都会失去他们的会话范围吗?

4

4 回答 4

6

是的,假设您在内存中使用 ColdFusion 的会话范围。重新启动服务器时会清除所有内存。如果您使用数据库或其他一些外部源,会话可能会持续存在。

并且对于它的价值,应用程序范围和服务器范围也被清除了。

于 2013-03-28T15:09:42.063 回答
5

根据 Charlie Arehart 在 CF10 中的Hidden Gems, Tomcat 上的 CF10 能够在重启时保存会话

也许是 CF10(和 Tomcat)中最好的隐藏宝石

  • 能够在重新启动时保存会话。是的!
  • 需要认真考虑的一些重要利弊
  • 了解 Tomcat 中的一些配置知识(您现在已经掌握)
  • 更多:http: //tomcat.apache.org/tomcat-7.0-doc/config/manager.html
  • 需要修改[cf10][instance]\runtime\conf\context.xml
  • Adobe doc 在“Installing CF 10”中的简短讨论令人困惑,可悲的是
  • 请参阅第 20 页,“启用持久会话”(原文如此)
  • 说取消注释已经没有注释的 XML 行
  • 关键是,如果未注释,MANAGER 元素不能有空白 PATH,因此:
  • 可以评论吗(CF10默认不评论,但PATH为空)
  • 或者可以设置一个PATH值。PATH="sessions.ser" 将会话保存到 sessions.ser 文件
  • 在 [cf10][实例]\runtime\work\Catalina\localhost\tmp

修改后需要重启CF才能生效

  • 测试:配置/重启/创建会话/重新启动/测试是否保存
  • 好消息:即使是复杂的变量也会持续存在(查询、CFC、结构等)
  • 问题:仅在正常 CF 关闭时保存会话
  • 如果 CF 崩溃/被杀死,则不会保存/恢复会话
  • 但那时的情况与现在没有什么不同。如果您“期望”节省,那就太糟糕了
  • 此外,在关机时可能会有很多 I/O,然后是启动,尤其是。如果有很多会话
  • 由于蜘蛛、机器人等原因,您的会话可能比您想象的要多。
  • 可能会让你感到困惑:当 CF 启动时,sessions.ser 文件不会出现
  • 关机时创建,启动后删除
于 2013-03-28T17:36:00.950 回答
1

Miguel-F 的回答是正确的,但在这里它是出自马的口中(Adobe 文档)。我用谷歌搜索了“coldfusion session server restart”来找到它——第三个结果。第二个结果是 2010 年最初提出的 Stack Overflow 问题。

会话:包含可用于应用程序中单个浏览器会话的单个客户端浏览器的变量。

对于您希望在客户端访问您的应用程序时保留的特定于客户端的信息(例如购物车内容)很有用。

数据存储在内存中,并在一段时间不活动或服务器关闭后超时。

ColdFusion Administrator 允许您在两种会话管理之间进行选择,标准 ColdFusion 会话管理和 J2EE 会话管理。有关会话管理类型的信息,请参阅 ColdFusion 和 J2EE 会话管理。

在变量名称中使用会话范围前缀。

于 2013-03-28T17:03:57.773 回答
0

是的。会话是服务器端变量。我刚才测试了它。

于 2013-03-28T15:11:12.570 回答