Проблема:Переменные приложения не сохранялось
У меня есть 2 файла в той же папке:
- index.cfm
- Application.cfc
Мой index.cfm пуст и ниже - мой application.cfc
код:
<cfcomponent>
<cffunction name="onApplicationStart">
<cfapplication name="TimeHistory" clientmanagement="No" sessionmanagement="No" setclientcookies="Yes" />
<cflock scope="application" type="exclusive" timeout=10>
<cfset application.test = "xxxxxxxxxxxxxx">
</cflock>
<cfreturn true />
</cffunction>
<cffunction name="onRequestStart">
<cfdump var="#application#" label="before">
<cfif structKeyExists(URL, "restart")>
<cfset onApplicationStart()>
</cfif>
<cfdump var="#application#" label="after">
<cfabort>
</cffunction>
</cfcomponent>
Как вы можете видеть, я устанавливаю переменную test
в application scope
.
Когда я называю страницу с ?restart
URL PARAM запроса, это выход:
URL:../index.cfm?restart
Затем я удалил ?reset
URL PARAM запроса и загрузка страница, это выход:
URL:../index.cfm
Вопрос:
Если не установили переменную как часть первого вызова и затем сохраняется для будущих вызовов? Как я могу это сделать?
Нет. Это неправильный способ установить имя приложения. Не используйте ''. Этот тег предназначен для использования с файлом Application.cfm. Вместо этого задайте имя приложения внутри тега 'cfcomponent' перед тем, как кто-либо вызовет функцию, то есть' 'См. Пример здесь http://blog.strikefish.com/blog/index .cfm? mode = entry & entry = 585F0E1E-E19B-31A5-4357446E2AF47653 –
Leigh
* установить имя приложения внутри тега cfcomponent, прежде чем какая-либо из функций вызовет ... * ... Как и любые другие параметры приложения (setclientcookies, sessionmanagment, ...) конечно. – Leigh