Кэширование созданного объекта

#object #caching #coldfusion-10

#объект #Кэширование #coldfusion-10

Вопрос:

Я пытаюсь кэшировать блок кода, который создает экземпляры двух объектов (основной объект расширяет общий абстрактный объект.

Без специфичного для кэша кода все работает нормально. Но когда я запускаю приведенный ниже код, я получаю только пустую страницу. Я не уверен, что это ожидаемое поведение, но я сомневаюсь в этом.

Я называю это так:

test.cfm

  <cfset foobar = CreateObject("foo") />

        <cfset foobar.pushLeads(
            a = 1,
            b = 2
        ) />
  

foo.cfc

 <cffunction name="pushLeads" access="public" returntype="void">
        <cfargument name="a" required="true" />
        <cfargument name="b" required="true" />

    <cfset local.cachedVendorData = cacheGet("vendorExport") />

            <cfif IsNull(local.cachedVendorData)>

                <cfsavecontent variable="local.vendorCFC">
                    <cfset local.leadsObj = createobject("baz").init() />

                    <!--- Take leads and pass into cfc for pushing to remote server --->
                    <cfset test =  local.leadsObj.pushLeadData(
                        a = arguments.a,
                        b = arguments.b
                    ) />

                    <cfdump var="#test#">
                </cfsavecontent>
                <cfoutput>#local.vendorCFC#</cfoutput>
                <cfset cachePut("vendorExport", local.vendorCFC, CreateTimeSpan(0,0,1,0))>

            </cfif>
</cffunction>
  

Редактировать — я забыл добавить до этого, перед кэшированием у меня был CFDUMP, который показывал бы все возвращенные результаты. Теперь, когда я добавил кэширование, результаты дампа не отображаются.

Комментарии:

1. Вы устанавливаете переменную, но я не вижу выходных данных. Возможно, ваш пример кода отображается недостаточно.

2. Я действительно опустил. Что-то. Я изменил сообщение выше.

3. Я не вижу примеров cfdump. Пожалуйста, опубликуйте больше (или полный) пример кода.