Application.cfc 为每个请求执行,但根据情况仅运行部分请求。每次都会执行伪构造函数(您设置 this.name 类型设置的位置)并且不能有问题地更改。onApplicationStart() 仅在应用程序不存在时运行。每个会话都可以访问应用程序范围的变量,并且每个应用程序实例(而不是会话实例)仅存在一次。onSessionStart() 仅在新访问者第一次访问该站点时运行。还有其他特定于事件的功能
这是另一个可能对您的问题有所帮助的线程。
ColdFusion Application.cfc - 执行顺序
以及 adobe 文档:
http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-74fa.html
活动用户计数器就像伪代码一样简单:
onApplicationStart {application.activeUsers = 0}
onSessionStart {application.activeUsers++}
onSessionEnd {application.activeUsers--}
清除一些混乱
“ this”范围用于设置应用程序设置,例如名称、sessionTimeOut 或 customTagPaths。这些设置内置于 ColdFusion。
<cfscript>
this.customtagpaths = expandPath('./customtags');
this.name = "myCoolWebsite";
this.sessionmanagement = "Yes" ;
this.sessionTimeOut = CreateTimeSpan(0,0,20,0);
</cfscript>
尽管“this”范围与应用程序相关,但您不能使用它来设置持久的应用程序范围变量。应用程序变量是使用“应用程序”设置的。语法,通常最初在 onApplicationStart() 函数中设置。
<cfset application.myVariable = "I am the same value for every user">