【问题标题】:Coldfusion Application variable magically becomes undefined?Coldfusion应用程序变量神奇地变得未定义?
【发布时间】:2011-06-16 19:21:49
【问题描述】:

我正在尝试构建一个使用 application.cfc 而不是 application.cfm 的应用程序。我遇到了问题...我在onApplicationStart() 中将我的dsn 定义为application.sacsds。但是,当我在我的 cfc 中使用时,我收到一个错误,说它是未定义的。

<cfquery name = "getSecurity" datasource="#application.sacsds#">

对不起,这个简单的问题......我只是想不通。

【问题讨论】:

  • 自定义变量后是否重新启动了应用程序?
  • 嗯好点...我会试试这个。 :P 编辑:是的,当我调用我的 cfc 方法时仍然说未定义。
  • @Bri - 1) “sacsds”真的是你的变量名称吗? 2)要清楚,您的意思是手动运行 onApplicationStart() 并且没有任何改变? 3) 转储应用范围。你看到了什么变量?
  • 我刚刚做了这个(在你发布之前:P)并且 sacsds 出现在应用程序范围内。对不起,我的术语不正确,我是菜鸟。此外,在调用我的 cfc 之前,会运行一个自定义登录脚本(不是由我维护),然后我将这些变量用作我的 cfc 的参数。 cfc 中的代码恰好位于自定义登录标记之后......并且工作得很好。
  • @Bri - 如果您的应用程序以某种方式重叠,重新启动只是一个创可贴。请不要生气,但这个问题非常模棱两可/分散。您需要发布有关您的 application.cfm/cfc 文件、文件夹结构以及如何调用此登录脚本的更具体的详细信息。在这一点上,我还没有足够的知识去冒险猜测;)

标签: coldfusion coldfusion-8 application.cfc


【解决方案1】:

所以,我在我的 CFC 中转储了范围,发现它完全用其他应用程序变量擦除了应用程序变量。我认为问题在于我们域的全局登录自定义标签。 :( 我得和某人谈谈。

【讨论】:

  • 显然,这就是为什么我们的旧代码有两个 cfapplication 标签。 :\
【解决方案2】:

我在搜索有关同一错误的信息时遇到了这篇文章。

我的问题是 Application.cfcs 文件名中的拼写错误。它有两个点;所以Application..cfc。因此,ColdFusion 没有执行 CFC;并且应用代码不知道应用范围。

正确命名文件解决了这个问题。

【讨论】:

    【解决方案3】:

    我有一个类似的例子,我不知道为什么我的应用程序变量突然消失了。我发现这是因为另一个应用程序和我在 Web 服务器上的应用程序在 application.cfc 中没有,并且混淆了 application.cfc 文件。想我会分享!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-11
      • 2015-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多