1

多年来,我一直在多个 ColdFusion 环境中使用以下代码:

<cfthread 
    action                  = "run" 
    name                    = "#Local.cachedFilename#"
    src                     = "#Arguments.src#"
>

    <!--- Process  image --->
    <cfset Local.objImage = This.processImage(
        src                     = Arguments.src
    ) />

</cfthread>

我今天来在不同的环境中重用我的组件,这是我第一次遇到错误,该错误Arguments.src在线程中不存在。

一些谷歌搜索返回了答案,我应该在线程内使用属性范围......所以 ProcessImage 调用使用 ofAttributes.src而不是Arguments.src.

这工作正常。一切都很好。但我很困惑。
我为 Railo 编写了这段代码。它工作得很好。我把它移植到CF10上,效果很好。我在CF11上运行它。它工作得很好。我第一次遇到错误是在一个特定的盒子上,也运行 CF10。

所以我的问题是 - 某处是否有更新,或者是否有一些特定的情况,这将允许我在 CFThread中使用参数范围?本质上,如果我应该使用属性范围,那么多年来我怎么能正常工作?!

4

1 回答 1

0

CFThread 是一个标签,而不是一个函数调用。因此它有attributes,没有arguments。由于某种原因,Railo/Lucee 似乎也错误地在范围内提供了attributes可用的。argumentsAdobe 的行为是正确的 IMO,您过去在 Railo 上只是靠运气侥幸逃脱。

于 2020-09-14T16:32:57.853 回答