CFThread 参数与属性

CFThread Arguments vs Attributes

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

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

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

</cfthread>

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

一些谷歌搜索返回了答案,我应该在线程内使用 attributes 范围...因此 ProcessImage 调用使用 Attributes.src 而不是Arguments.src.

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

所以我的问题是 - 某个地方是否有更新,或者是否有一些特定的情况允许我在 CFThread 中使用 arguments 范围?本质上,如果我应该使用 attributes 范围,那么多年来我是如何正常工作的?!

CFThread 是一个标签,不是函数调用。因此它有 attributes,而不是 arguments。看起来 Railo/Lucee 由于某种原因错误地使 attributesarguments 范围内可用。 Adobe 的行为在我看来是正确的,您过去在 Railo 上只是侥幸逃脱了。