我通常在Application.cfc的第一行中设置应用程序范围的数据源名称:
<cfscript>THIS.datasource="mydsn";</cfscript>
如果我需要在代码的某些部分更改它,该怎么办?
具体来说,我的意思是:
我可以为每个请求执行此操作吗?
答案 0 :(得分:5)
好的,我对你原来帖子的评论 - 发现这些事情的最好办法就是试试然后看看会发生什么,答案是:是的。
Application.cfc的命名很差,因为它暗示它是特定于应用程序的,但实际上整个事件都是在每个请求中实例化的。某些事件处理程序仅在给定的情况下运行(onApplicationStart / onSessionStart等)既不在这里也不在那里:整个事务运行每个请求。因此,与任何实例化的CFC一样,每个请求也会运行伪构造函数代码(在此处创建这种范围的变量声明)。
这意味着您可以根据REQUEST特定信息(请求,CGI,URL,FORM等;但不是APPLICATION或SESSION)有条件地设置任何变量。因此,基于CGI变量的条件可以正常工作。
但是不要相信我的话:试试吧!总是尝试这些东西。
最后,为了稍微插上一下,我会在this article的博客中讨论在Application.cfc中运行的内容。也许给它一个阅读,或许你在那里看看Application.cfc上的其他文章。