首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >application.cfc在内存中是静态的吗?

application.cfc在内存中是静态的吗?
EN

Stack Overflow用户
提问于 2012-10-30 18:14:24
回答 2查看 185关注 0票数 1

我正在尝试coldfusion中的Application.cfc。我想知道application.cfc是否在内存中是静态的,也就是说,它是为第一个用户创建一次,然后在每个访问它的用户访问相同的application.cfc (在内存中)之后创建的。

举例说明。UserOne访问webpage > Application.cfc是在内存块1创建的。UserTwo访问webpage > Application.cfc在内存块1被再次调用,但函数onRequestStart被调用。

我说application.cfc在内存中是静态的(或直到它过期),还是为每个用户重新创建它,这是正确的吗?如果是的话,这会是一个巨大的内存问题吗?

有没有人能解释一下谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-30 18:40:02

对于每个请求都会执行Application.cfc,但根据情况只运行其中的一部分。伪构造器(在其中设置this.name类型设置)每次都会执行,并且不能有问题地进行更改。只有当应用程序不存在时,onApplicationStart()才会运行。每个会话都可以访问应用程序范围的变量,并且每个应用程序实例(而不是会话实例)只存在一次。onSessionStart()只在新访问者第一次访问站点时运行。还有其他特定于事件的函数

这是另一个可能对你的问题有帮助的帖子。

ColdFusion Application.cfc - order of execution

以及adobe文档:

http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-74fa.html

一个活跃用户计数器就像伪代码一样简单:

代码语言:javascript
复制
onApplicationStart {application.activeUsers = 0} 
onSessionStart {application.activeUsers++} 
onSessionEnd {application.activeUsers--}

澄清一些混乱的

“this”作用域用于设置应用程序设置,如名称、sessionTimeOut或customTagPaths。这些设置内置于ColdFusion中。

代码语言:javascript
复制
<cfscript>
    this.customtagpaths = expandPath('./customtags');
    this.name = "myCoolWebsite";
    this.sessionmanagement = "Yes" ;
    this.sessionTimeOut = CreateTimeSpan(0,0,20,0);
</cfscript>

尽管“this”作用域与应用程序相关,但您不能使用它来设置持久应用程序作用域变量。应用程序变量是通过使用‘Application’设置的。语法,并且通常最初在onApplicationStart()函数中设置。

代码语言:javascript
复制
<cfset application.myVariable = "I am the same value for every user">
票数 6
EN

Stack Overflow用户

发布于 2012-10-30 18:36:40

你的假设是正确的

应用程序事件是应用程序生命周期中发生的特定事件。每次发生这些事件中的一个时,ColdFusion都会运行Application.cfc文件(也称为应用程序CFC)中的相应方法。Application.cfc文件定义应用程序设置并实现处理应用程序事件的方法。

Source

应用程序变量可用于应用程序中的所有页面,即具有相同应用程序名称的页面。因为应用程序变量是持久的,所以您可以很容易地在页面之间传递值。

Source

同样值得注意的是

cflock标记控制对ColdFusion代码的同时访问。cflock标记允许您执行以下操作:

  • 为使用ColdFusion线程的应用程序保护访问和操作会话、应用程序和服务器范围以及请求和变量范围中的共享数据的代码部分。

..。

Source

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13136809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档