Компоненты ColdFusion, наследующие функции других

У меня есть два простых CFC, как показано ниже:

Test1.cfc

<cfcomponent> 
  <cffunction name="initMethod1" access="private" returntype="boolean"> 
  <cfreturn true />
</cfcomponent>

Test2.cfc

<cfcomponent> 
  <cffunction name="initMethod2" access="private" returntype="boolean"> 
  <cfreturn true />
</cfcomponent>

Во время OnApplicationStart() Application.cfc я делаю следующие вызовы:

<cfset application["Test1"] = CreateObject("component","jbx.c.Test1") />
<cfset application["Test2"] = CreateObject("component","jbx.c.Test2") />

Когда я выкидываю область приложения, обратите внимание ниже, что оба компонента имеют свою собственную функцию, а также функцию другого. Есть идеи, почему это так и как это исправить? Благодарю.

http://www.signaturehairbyrisa.com/test1.png

http://www.signaturehairbyrisa.com/test2.png

1 ответ

Решение

Поскольку вы связали это с onApplicationStart(), они были созданы при первом посещении этого веб-сайта. Быстрый способ сброса переменных приложения - переименование приложения.

Когда я разрабатываю известные мне cfc, которые будут находиться в области приложения, я прорабатываю все детали в пределах области запроса, а затем, когда это работает правильно, я перемещаю область приложения.

Еще одна вещь, которая полезна для устранения подобных проблем, это иметь

application.initialized = now();

Таким образом, когда вы делаете дамп области приложения, вы знаете, когда оно было настроено.

Другие вопросы по тегам