8

谷歌并没有真正提供太多内容(或者我的查询很糟糕)。有没有人做过转换并可以分享经验?

4

5 回答 5

4

我们发现当我们升级到 CF 8 时:

Carraige 退货在纯文本电子邮件中被剥离。我们发现我们必须通过创建这样的 var<cfset CRLF = "#Chr(13)##Chr(10)#">并将其插入到我们需要换行符的纯文本电子邮件中来明确换行符。我们最终去了 HTML 电子邮件。

由于 jar 文件的加载顺序,第三方 jar 文件会导致问题。某些 jar 文件必须首先出现在 java 类路径中,如cfroot/runtime/bin/jvm.config. 这是一个混乱的解决方法,我们已经停止使用那个 jar。

还要确保立即修补到 8.0.1。由于这个问题,我们做了一场性能噩梦。

祝你好运!

于 2009-06-17T15:55:48.833 回答
3

我们大约在一年前进行了切换,如果您仅在代码方面进行讨论,那么只要您的设置保持不变,从 cf6 到 cf8 的更改不需要任何更改。一个变化是 CF 处理 verity 集合的方式,所以如果你使用 cfsearch 那么它可能是你研究的东西。cf6 有许多改进,您应该寻求实施。我们发现特别有用的几个是 cfdocument、cfimage、cfpdf 和 cffeed。这是与其他关键点的良好链接... http://www.adobe.com/products/coldfusion/upgrade/

于 2009-06-17T12:23:26.610 回答
3

我没有任何 CFMX 6.1 应用程序可以切换,但 Railo 绝对是我选择的 CFML 引擎。

兼容性方面,从 CFMX 6.1 迁移不太可能出现任何重大问题,您可以使用 Express 版本轻松测试 - 无需安装!

Railo 对 CFML 的某些方面可能更严格,因此如果您利用 CF 的错误/弱点,您可能会遇到一些错误,但没有什么可担心的。

而且,如果您确实遇到了任何问题,Railo 邮件列表很活跃,其中有很多友好乐于助人的人,他们可以帮助您重新开始。

于 2009-06-17T23:55:46.007 回答
3

如果您从 CFMX 6.1 升级到 Railo 3.1,几乎不会出现任何问题。有些东西我们不支持(例如 CFREPORT 或 C++ CFX 标签)。除此之外,将现有的 CFMX 6.1 代码迁移到 Railo 应该非常容易。默认情况下,Railo 配置为尽可能与 CFMX 兼容。

您可能还需要注意其他一些事项:

  • 如果您在 CF 中创建这样的结构: <cfset a["image.x"]> 您将能够使用“。”调用该变量。符号,尽管它具有误导性。所以在 CF 中你可以做 <cfoutput>#a.image.x#</cfoutput> 而在 Railo 你必须写: <cfoutput>#a["image.x"]#</cfoutput>
  • 在局部范围内创建变量的内部函数在命名为范围内将在 CFMX 中有效,但在 Railo 中无效。所以这个: <cfset var url = "whatever"> 将在 CF 中工作,但在 Railo 中不起作用。
  • 在 Railo 中,在使用 cfapplication 初始化之前,您不能使用应用程序范围或会话范围。那么在 CF 中你也不能,但是 CF 会在变量范围内创建一个名为“应用程序”或“会话”的局部变量。这有时会导致混乱。

除了这些东西,它应该完美无缺。如果您当然有任何问题,请联系我们的 Railo Google 小组或直接访问 www.getrailo.com

格特弗兰兹


Railo 专业开源

于 2009-06-25T15:48:44.047 回答
1

我不知道从 CF6.1 到 CF8 的任何折旧标签或功能。CF8 已针对性能进行了优化,因此您很可能会看到您的应用程序有所改进,具体取决于所使用的内容。

我成功地将一个大型应用程序从 CF4.5 升级到 CF8,没有任何问题。如果应用程序包含对 ColdFusion 标记和函数的非常直接的使用,那么您应该不会有太大问题。

但是,由于开发人员版本是免费使用的,因此您应该真正设置一个测试环境并通过测试您的应用程序自己确定这个问题的答案。所有数据源、自定义标签等都必须进行迁移和测试。如果任何 CF6.1 应用程序使用了在某些方面可用的任何较低级别的 java api,您可能需要彻底测试以确保冷融合的底层实现没有更改并修复必要的内容。

至于Railo3.1,可能还有一些标签或功能还没有实现。您将再次需要设置测试环境并自行确定。在 Railo 网站的某个地方,应该有一份 CF 和 Railo 不同版本之间的兼容性列表。

于 2009-06-17T12:27:19.600 回答