首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Application.cfm文件范围内重新初始化网站

如何在Application.cfm文件范围内重新初始化网站
EN

Stack Overflow用户
提问于 2013-08-31 19:29:48
回答 2查看 661关注 0票数 0

也许标题看起来有点奇怪,但我的问题很直接,如何使用Application.cfm重新初始化应用程序,我知道我们在Application.cfc中是如何做的,比如

代码语言:javascript
复制
<cfscript>
if(structKeyExists(url, 'reinit')) {
    onApplicationStart();
}
</cfscript>

但如何在Application.cfm,不确定,请指导

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-08-31 20:32:58

首先,运行onApplicationStart()并不会重新启动应用程序,就像运行onClick()鼠标单击事件处理程序不会导致鼠标按键按下一样。onApplicationStart()是在应用程序启动时调用的,而不是反过来。

其次,Application.cfm与应用程序生命周期无关,它只是一个包含在每个请求开头的CFML文件。与onApplicationStart()相比,它与onRequestStart()更紧密地联系在一起:不幸的是,该文件命名错误。其对应的onRequestEnd.cfm演示了这一点。

我假设您在这里的要求是重新初始化您的应用程序范围,对吗?您是否将所有应用程序范围的设置都隔离在一个特定的CFML文件中,例如:applicationSettings.cfm,然后在您的Application.cfm中具有如下逻辑

代码语言:javascript
复制
// Application.cfm
if (!structKeyExists(application, "inited")){
    include "applicationSettings.cfm";
}

(然后作为applicationSettings.cfm中的最后一件事,将application.inited设置为true)。

如果是这样的话,你只需要修改你的条件来包含你的URL reinit变量,例如:

代码语言:javascript
复制
if (!structKeyExists(application, "inited") || structKeyExists(URL, "reinit")){
    include "applicationSettings.cfm";
}
票数 3
EN

Stack Overflow用户

发布于 2013-09-03 17:30:11

在OnRequestStart()中放入如下内容:

代码语言:javascript
复制
param name='url.reloadApp' default='no';

if(url.reloadApp == 'yes')
{
    applicationStop();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18547639

复制
相关文章

相似问题

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