我对ColdFusion应用程序工作流程有一般性的了解。但有些部分对我来说仍然不清楚。一般工作流程如下......
我有一个带有Application.cfc的子目录,它扩展了存在于web-root的根Application.cfc
阅读了大量描述这种设计模式的博客......
Extending The Application.cfc ColdFusion Framework Component With A Relative-Path Proxy
Extending OnSessionStart() In A Sub Directory Application.cfc
在最后一个链接中(一些答案提供了一些基本的见解,但没有真正触及将this
范围与扩展的Application.cfc一起使用。以下答案之一将我抛弃..(可能不是更正为没有赞成票)
Application.cfc文件中此范围内的任何内容都将成为 application varialbe,仅在每个应用程序生命周期内创建 周期。应用程序启动后,没有其他用户可以执行此操作 在Application.cfc
中
我转储了#application#
范围,它与#this#
getApplicationMetaData()
似乎转储了相同的数据<cfdump var=#this#>
,因此我猜测thisMetadata是最初设置的全局配置变量。
1)如果Application.cfc使用代理扩展根Application.cfc,那么扩展组件共享的this
范围(用于设置应用程序名称)是什么? (如果我在根组件中设置了this.name = "root"
而在派生组件中设置了this.name = "user"
,那么冷融合会将此视为两个不同的应用程序,还是仅仅是应用程序名称的值发生变化的唯一影响?
2)无论如何在psudo构造函数(this
)后面的任何Applicaiton.cfc函数的onApplicationStart ,onSessionStart ,onRequestStart
范围内更改Application MetaData?
我正在尝试使用onApplicationStart()
在根组件中设置特定于应用程序的映射,以便映射只设置一次。