Свойства уровня компонента в Application.cfc - PullRequest
2 голосов
/ 29 сентября 2011

Если у меня есть свойства уровня компонента в моем application.cfc, будут ли они оцениваться каждый раз, когда страница открыта, или они будут оцениваться только при создании приложения?

<cfcomponent>
    <cfscript>
        this.name = "WARM2_Demo";
        this.applicationTimeout = CreateTimeSpan(1,0,0,0);
        this.setClientCookies = true;
        this.setDomainCookies = false;
        this.sessionManagement = true;
        this.sessionTimeout = CreateTimeSpan(0,0,30,0);
        this.clientManagement = false;
        this.scriptProtect = true;

        this.appDirectory = getDirectoryFromPath(getCurrentTemplatePath());
        this.fileSeparator = createObject("java","java.lang.System").getProperty("file.separator");

         ....

    </cfscript>

    <cffunction name="OnApplicationStart" returntype="boolean">
        <cfscript>
            setupApplication();
            return true;
        </cfscript>
    </cffunction>

        ....

</cfcomponent>

Ответы [ 2 ]

4 голосов
/ 29 сентября 2011

Псевдо-конструктор Application.cfc - это , выполняемый при каждом запросе.

По существу, за кулисами экземпляр Application.cfc создается при каждом запросе, и этот экземпляр работает так же, как и любой другой.другая реализация CFC: запускается бит псевдо-конструктора - материал внутри тегов CFCOMPONENT, но без каких-либо объявлений CFFUNCTION / функции.

После запуска псевдо-конструктора запускаются все подходящие методы обработчика / перехватчика событийНапример: onRequestStart ().

Примечание: вы можете очень легко это проверить сами, просто выведя что-то там.Он будет отображаться на экране при каждом запросе (сделайте это вызовом getTickCount () или createUuid (), чтобы вы могли видеть его изменение).

0 голосов
/ 29 сентября 2011

оценивается каждый раз, когда запрашивается страница, я думаю.

вставьте их в Application область действия в onApplicationStart()

а если честно, файлSeparator ?? Просто используйте /, он будет отлично работать на Windows и * nix OS. :)

...