CFThread Аргументы против Атрибутов
В течение многих лет я использовал следующий код в нескольких средах ColdFusion:
<cfthread
action = "run"
name = "#Local.cachedFilename#"
src = "#Arguments.src#"
>
<!--- Process image --->
<cfset Local.objImage = This.processImage(
src = Arguments.src
) />
</cfthread>
Я пришел, чтобы повторно использовать мой компонент в другой среде сегодня, и впервые я столкнулся с ошибкой, что Arguments.src
не существует внутри потока.
Немного Googling вернул ответ, я должен был использовать область атрибутов внутри потока... так что вызов ProcessImage использует Attributes.src
вместо Arguments.src
,
Это отлично работает. Все хорошо. Но я в замешательстве.
Я написал этот код для Railo. Работало нормально. Я перенес его на CF10, он работал нормально. Я запустил его на CF11. Работало нормально. Первый раз, когда я сталкиваюсь с ошибкой, на конкретной коробке, также работает CF10.
Итак, мой вопрос - было ли где-то обновление или есть какой-то особый набор обстоятельств, которые позволили бы мне использовать область действия аргументов внутри CFThread? По сути, если я должен использовать область действия атрибутов, как у меня это работало годами?!
0 ответов
CFThread - это тег, а не вызов функции. Следовательно, он
attributes
не
arguments
. Похоже, что Рейло / Люси почему-то неправильно делают
attributes
доступен в
arguments
объем. Поведение Adobe правильное, ИМО, и вам просто повезло в прошлом на Railo.