问题标签 [application.cfc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
792 浏览

coldfusion - ColdFusion Application.cfc & cfinvoke & THIS 范围

在使用 CF application.cfc - 需要创建一些变量以开始(在 THIS 范围内) - 例如 this.name 和 this.applicationtimeout() 等。

我遇到了一些我认为奇怪的行为 - 希望有人能解释为什么会发生这种情况以及可能的解决方法。

有相当多的“THIS”变量被接受,可以用来设置应用程序特定的变量(当然你必须在 CFADMIN 中检查“允许应用程序特定的变量”——我做了)

其中之一是 THIS.mappings - 这是一个映射数组 - MINE 看起来像这样:

它工作正常 - 当它设置在 application.cfc 顶部的 cfscript 块内时,它工作正常 - 如果我将该脚本块放在它自己的文件中并将其 cfinclude 到 application.cfc

但是 - 为了分割我的代码 - 我想将我的所有应用程序设置放在 settings.cfc ...(这里的想法是如果必须更改某些设置 - 我不必担心'在哪里' 看,我真的不想在我的 app.cfc 和 settings.cfc 中的其他应用程序或会话设置上拆分这些东西

所以我在 settings.cfc 中创建了一个名为 getTHIS 的方法,并将脚本块放在那里......然后使用

哪个 WORKS - 除了(似乎)在映射上......

this.name 等似乎都可以正常工作并被设置 - 事实上,如果我做一个

当我在 app.cfc 页面上“逐字地”设置它时,转储与 THIS 的转储相同。

但是 - 任何通过映射调用模板的尝试 - 都会导致标准“如果你想使用绝对路径,你必须创建一个映射等等等等......”

我更大的目标是(在应用程序启动时)扫描目录中的子目录,并根据某些子目录创建映射。但如果我不能将该功能抽象为它自己的功能 - 我将被迫直接在 app.cfc 中编写它(这不会杀死我,但我再次尝试对我的代码进行逻辑分段......似乎可以设置这些映射的时间和地点有限制......真的吗?

所以我想最大的问题是 - 我可以通过外部方法设置 this.mappings 吗?我想我可以使用 cfc 调用恢复“我想要的设置”,然后执行“设置 this.whatever = return form cfc” - (这可能是我的答案......)

谢谢

0 投票
2 回答
523 浏览

variables - Coldfusion 8 -> 9 更新,功能不再工作

帮助!!

只是将站点从一台服务器迁移到另一台服务器,coldfusion 版本正在从 cf8 更改为 cf9 [linux/centos]

这段代码以前可以工作:

在包含的文件中是:

现在浏览页面时出现错误:

这里发生了什么?正在找到包含的文件,导致此问题的两个版本之间是否存在一些差异?

0 投票
5 回答
5051 浏览

coldfusion - ColdFusion Application.cfc - 执行顺序

我需要一个现实检查 - 并希望一个解释(如果我的现实是错误的)。

CF 应用程序框架评估事物的方式是这样的(我的理解)——请求被传递给 cfserver

  • cf 查找 application.cfm 或 cfc(基于遍历规则)

  • application.cfc 执行(如果找到)

  • 设置了THIS范围(可以在此处设置一系列特定于应用程序的变量,但

有些是必需的 - 例如“applicationTimeout” - 然后会发生一系列事件 - 如果需要,会触发方法。

-- onApplicationStart()

----onSessionStart()

------onRequestStart()

等等

所以我的问题

1)这个设置发生在每个页面请求上 - 在其他任何事情之前?

2)如果我在 onApplicationStart() 中设置了一个应用程序变量 - 它在之后发生的任何进程中都可用 - 并且应该在内存中持续存在 applicationTimeout() 的长度 - 对吗?

3)所以如果我做这样的事情......

if ( isdefined("application.myvar" ) { this.something = application.myvar; }

它应该在启动应用程序范围的初始请求之后处理任何页面请求。

但是它似乎没有这样做。

我问的原因是这个 - 有一些有趣的应用程序杠杆设置需要在这个范围内设置......其中一些可能是“密集的”(至少从执行每个请求的角度来看 - 所以我想要只做一次,在持久内存中设置一个结构,然后将它们作为 THIS 使用。

我做了一些错误的假设吗?

谢谢

0 投票
2 回答
2535 浏览

coldfusion - 为什么我不能在 Coldfusion 组件中调用方法?

我正在使用Coldfusion8并且一直试图调用一个组件。这一直持续到几天前,虽然我不记得改变了什么,但我对这个组件的所有调用现在都失败了。

这里的代码:

没有什么特别的,除了可能传递一个结构是参数。

我收到以下错误:

它确实存在...那么我该怎么做才能尝试访问它?

感谢帮助!

编辑:
这两个文件都在同一个文件夹中,名为services. 我在我的文件夹中有一个映射application.cfc

但是尝试像这样调用组件:

也不起作用。

编辑:
我的 application.cfc

编辑
我想我越来越近了。我有另一个邮件(同一个文件夹),我只是换了这个来替换我的

现在 Coldfusion 找不到方法,但这意味着它找到了 cfc。那会不会是我的 mailer.cfc 中的错误?

解决方案:
我不敢告诉...

_mailer_user的文件名中输入错误...感谢大家的帮助!

0 投票
3 回答
1356 浏览

coldfusion - ColdFusion = OnRequest 错误

查看日志,我们得到了数百个以下内容

它们似乎主要是搜索机器人。我可以看到对函数的引用在 APplication.cfc 上的位置如下

从那以后,任何人都可以就问题所在以及如何解决问题提出建议吗?我对 CF 还很陌生,这让我把剩下的头发都拔掉了

0 投票
2 回答
145 浏览

coldfusion - 只使用Application.cfc 的一部分?

我没有在 Coldfusion 方面接受过任何正式培训,所以这样的事情真的让我很困惑,因为它们的工作方式与我想象的不同。

我的文件夹结构是这样的:

主文件ApplicationFolder中包含的最后一个 Application.cfc 是我想要包含我的<cflogin>东西的 Application.cfc。那行得通,而且效果很好。但是,当我在SubAppFolderx. 这些Application.cfc 只需要包含一个onRequestStart事件。

我越是试图解决这个问题,我就越是把自己挖到一个洞里。我试图返回并了解有关如何操作 Application.cfc 的更多信息,但就教程而言,关于 Coldfusion 的信息并不多。虽然它的文档很棒,但它并不能帮助我理解在这种情况下我需要做什么。

那么我需要做什么来执行我在 in 中所做的onRequestStart事情SubAppFolderx?我敢肯定这是一个简单的答案,但就像我说的那样,我只是在这里自掘坟墓。

0 投票
1 回答
106 浏览

coldfusion - 在 ColdFusion 中设置和存储 Application 和 THIS 参数的最佳方式是什么?

我有我当前在 ApplicationSettings.cfm 和 ThisSettings.cfm 中设置的参数,我将它们包含在 Application.cfc 中。我想将这些设置与源代码分开,因为它们包含特定于环境的信息。我目前 gitignore 这些文件并将示例设置粘贴到上面我包含它们的评论中。有没有更好的方法来做到这一点?

0 投票
3 回答
1729 浏览

coldfusion - 您如何在 ColdFusion 中捕获整个应用程序的错误?

我目前正在尝试通过在 Application.cfc 中包含以下代码来捕获我的应用程序中的所有错误:

其中一些是从我见过的其他例子中借来的(我不完全理解)。我最终想展示某种优雅的错误页面来征求用户的反馈,然后记录/通过电子邮件发送错误。这似乎捕获了很多错误,但不是全部。如果我不需要,我也不想在任何地方使用 try/catch。有什么建议么?

0 投票
1 回答
685 浏览

coldfusion - 动态更改“全局”数据源

我通常在 Application.cfc 的第一行中设置应用程序范围的数据源名称:

如果我需要在代码的某些部分更改它怎么办?

具体来说,我的意思是:

  • 如果 cgi.server_name 等于 "www.firsturl.com" => this.datasource = "firstdsn"
  • 如果 cgi.server_name 等于 "www.secondurl.com" => this.datasource = "seconddsn"

我可以为每个请求都这样做吗?

0 投票
2 回答
72 浏览

ajax - 将页眉代码从绑定添加到 cfc 调用时出现问题

我的 onRequestStart() 方法中有一些包含,我使用以下方法绕过了 cfc 请求:(<cfif listLast(arguments.thePage, ".") neq "cfc">我从 Ray Camden 的论坛上获得http://forums.forta.com/messages.cfm?threadid=10C19539- E898-C4C8-5F32EBA5B054C3D6感谢雷!)

但是,我仍然将代码添加到我的 JSON 响应中:

还有什么想法可能会被插入或我可能会丢失什么?(我现在没有使用 onRequest 或 onRequestEnd,我认为 application.cfc 中没有其他内容可以添加此内容)

提前感谢您的帮助....