Coldfusion 有人在application.cfc中遇到此.datasource问题吗

Coldfusion 有人在application.cfc中遇到此.datasource问题吗,coldfusion,application.cfc,Coldfusion,Application.cfc,这很奇怪,毫无疑问,这只是我解决问题的能力令人尴尬地有限的另一个例子,但——我们有一个API,自2012年10月以来一直在使用。变化非常少(可能总共有两三次调整) 大约3个月前,似乎application.cfc中的this.datasource已停止被识别。服务器正在报告此错误。数据源=“” 有没有人对此有过经验,或者对这种情况下可能发生的情况有过见解?我非常乐意戴上这顶愚蠢的帽子,但它让我的情绪有点混乱,我只是“必须知道”……我的忍者理论在办公室里没什么吸引力。我以前也有过类似的问题。为了修

这很奇怪,毫无疑问,这只是我解决问题的能力令人尴尬地有限的另一个例子,但——我们有一个API,自2012年10月以来一直在使用。变化非常少(可能总共有两三次调整)

大约3个月前,似乎application.cfc中的this.datasource已停止被识别。服务器正在报告此错误。数据源=“”


有没有人对此有过经验,或者对这种情况下可能发生的情况有过见解?我非常乐意戴上这顶愚蠢的帽子,但它让我的情绪有点混乱,我只是“必须知道”……我的忍者理论在办公室里没什么吸引力。

我以前也有过类似的问题。为了修复它,我将
移动到application.cfc中的
OnApplicationStart
函数。
执行此操作后,请记住重新启动应用程序。

我以前也遇到过类似问题。为了修复它,我将
移动到application.cfc中的
OnApplicationStart
函数。 执行此操作后,请记住重新输入应用程序。

严格来说,application.cfc中的this scope是指特定于应用程序文件本身的字段。例如,sessionTimeout、applicationTimeout、loginStorage等等。您可以将它们松散地解释为应用程序的元数据。因此,使用此字段定义的字段不能在应用程序中的其他位置访问

Datasource是指应用程序的一种属性。因此,您应该在onApplicationStart中将其定义为:

application.datasource
严格来说,Application.cfc中的this scope是指特定于应用程序文件本身的字段。例如,sessionTimeout、applicationTimeout、loginStorage等等。您可以将它们松散地解释为应用程序的元数据。因此,使用此字段定义的字段不能在应用程序中的其他位置访问

Datasource是指应用程序的一种属性。因此,您应该在onApplicationStart中将其定义为:

application.datasource

过去我遇到过这样的问题:当发生错误时,application.cfm中的datasource值会被删除。可能是同一件事吗?很有趣。再次检查是否有内容正在覆盖它。例如,子文件夹中的application.cfc文件,或具有相同“this.name”的application.cfc文件,该文件有一个空数据源(名称必须是唯一的),或者可能有一个application.datasource的显式cfset为空字符串。这些就是我想到的东西。
this.datasource
是以有条件的方式设置的吗?类似于在dev/prod之间进行决策的逻辑。如果是,则发布该逻辑或如何设置该var。我还会在应用程序中的任何位置查找名为application.cfc或application.cfm的文件。另外,
this.datasource
是在应用程序中某处使用后设置的吗?是的,我以前有过这个。我已经停止使用这个“功能”。过去我遇到过这样的问题:当发生错误时,application.cfm中的datasource值会被清除。可能是同一件事吗?很有趣。再次检查是否有内容正在覆盖它。例如,子文件夹中的application.cfc文件,或具有相同“this.name”的application.cfc文件,该文件有一个空数据源(名称必须是唯一的),或者可能有一个application.datasource的显式cfset为空字符串。这些就是我想到的东西。
this.datasource
是以有条件的方式设置的吗?类似于在dev/prod之间进行决策的逻辑。如果是,则发布该逻辑或如何设置该var。我还会在应用程序中的任何位置查找名为application.cfc或application.cfm的文件。另外,
this.datasource
是在应用程序中某处使用后设置的吗?是的,我以前有过这个。我已经停止使用这个“功能”。这里有两个问题。首先,它应该是“Application.cfc中的OnApplicationStart函数”。其次,正如我前面提到的,在这个应用范围内定义一个应用范围内的变量是糟糕的设计。严格来说,这是指Application.cfc的一个实例。应用程序范围变量的正确范围是
application.x
。我意识到根深蒂固的习惯很难改变,有些人可能不喜欢听新闻。如果你使用this.datasource,你不必在
cfquery
中指定数据源。事实上,朱尔斯。但在旧版本的Coldfusion中并不总是这样。首先,它应该是“Application.cfc中的OnApplicationStart函数”。其次,正如我前面提到的,在这个应用范围内定义一个应用范围内的变量是糟糕的设计。严格来说,这是指Application.cfc的一个实例。应用程序范围变量的正确范围是
application.x
。我意识到根深蒂固的习惯很难改变,有些人可能不喜欢听新闻。如果你使用this.datasource,你不必在
cfquery
中指定数据源。事实上,朱尔斯。但在旧版本的Coldfusion中,情况并非总是如此。值得重复的是:这个范围的应用程序不一定适用于整个应用程序!值得重复的是:本应用范围的定义。cfc不一定适用于整个应用范围!