问题标签 [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.
coldfusion - Application.cfc 内置变量
在 ColdFusion 版本 9 中,我在 Index.cfm 中有以下内容:
但我唯一得到的是一个带有应用程序名称的结构 - 没有其他变量,如 rootPath、mappings 或 customTagPath。
这是我在 Application.cfc 中的内容:
coldfusion - 将通用 udf 分配给 application.cfc 的正确方法是什么?
我只是想在 application.cfc 中定义一个函数并将它的应用程序范围内的所有请求公开。最好“分配”只会在应用程序启动时发生。
是按照以下方式做某事的首选方法:
还是有更好的东西?
coldfusion - application.cfc 页面出现 cfml 错误
我的 cfml 网站有一些问题。
我在 application.cfc 文件中使用了以下代码来连接 dsn。
但是,当我把它放在我的服务器中时,我得到了错误。我什至无法浏览单个 test.cfm 页面。
该代码是否有任何错误,任何语法错误或类似的东西,dsn是否有问题
请任何人帮助我
string - ColdFusion 静态键/值列表?
我有一个数据库表,它是一个定义术语的字典——键、值。我想从数据库中加载应用程序范围内的字典,并将其保留在那里以提高性能(它不会改变)。
我认为这可能是某种“结构”,但我对 ColdFusion非常陌生(帮助另一个团队)。
然后,我想对一些输出到浏览器的字符串做一些简单的字符串替换,循环遍历定义的术语并用一些 HTML 替换这些术语来定义术语(悬停或链接,稍后会制定详细信息, 不重要)。
这是当前在 application.cfc 文件中的代码:
调用页面尝试按如下方式使用它:
当我调用该函数时,我返回:“元素 DEFINEDTERMS 在应用程序中未定义”。
编辑:强制调用 OnApplicationStart() 有效,显然 Cold Fusion 的 application.cfc 不像 ASP.NET 的 web.config,更改它不会重置应用程序。
api - 在 ColdFusion 中使用缓存来限制对 API 的调用
嗨,我正在使用 ColdFusion 调用 last.fm api,使用来自此处的 cfc 包。
我担心会超过请求限制,即每个原始 IP 地址每秒 5 个请求,平均超过 5 分钟。
cfc 包有一个中心组件,它调用所有其他组件,这些组件被分成“艺术家”、“轨道”等部分……这个中心组件“lastFmApi.cfc”。在我的应用程序中启动,并在应用程序的生命周期内持续存在
现在,如果我想通过处理程序/控制器调用 api,例如我的艺术家处理程序......我可以这样做
我对缓存有点困惑,但是我在这个处理程序中缓存了对 api 的每个调用 5 分钟,但这有什么不同吗,因为每次有人点击一个新的艺术家页面时,这仍然算作对 api 的新点击?
想知道如何最好地解决这个问题
谢谢
coldfusion - 可以在 application.cfc 中创建一个无范围的全局吗?
我正在迁移使用 application.cfm 的旧应用程序以使用 application.cfc。CFM 设置了一些全局变量,例如
我尝试将那行代码放在 onApplicationStart、onRequestStart 等中,但尝试在测试页中打印该值会导致错误。在应用程序范围(例如application.dsn)中设置一个值当然可以正常工作,但是我的截止日期很紧,无法通过在站点范围内对每个全局进行搜索和替换来摇摆不定。
我知道将这些放在作用域中是正确的做法,但是目前,有没有办法切换到使用 Application.CFC 但仍然创建无作用域的全局变量?
coldfusion - Application.CFC 有问题
只是在 ColdFusion 中写出我自己的博客,突然之间,我在我的开发机器上打开了 eclipse,在 Chrome 中检查了该站点,但它没有加载。所以我尝试将 Application.cfc 移动到另一个文件夹,瞧,页面可以正常工作。
确切的错误信息是:
系统试图使用未定义的值,这通常表示您的代码或某些系统代码中的编程错误。空指针是未定义值的另一个名称。
Application.cfc 的内容如下:
任何想法的人?
非常感谢,
杰克
coldfusion - 测试站点在主站点的子目录中引用了错误的 Application.cfc
我有一个设置了多层目录结构的 CF9 项目。在根级别,我拥有带有 Application.cfc 的实时生产站点。它包含许多绑定到“debugMode”标志的变量——所以在生产站点的情况下,这个标志设置为假。
在生产站点的子目录中,我有一个文件夹,其中包含该站点的测试版本。这有自己的 Application.cfc,其中 debugMode 设置为 true。除了我们正在测试的这个标志和更改之外,它与生产 Application.cfc 相同。
这个没有任何问题,直到我们添加了重置 Application.cfc 的逻辑,以便在不等待超时(我们设置为 30 分钟)的情况下查看我们的更改。
为了实现这一点,我们将此块添加到 Application.cfc 中的“OnRequestStart”函数中(它存在于生产和测试版本中):
这最初似乎工作正常。如果我们在测试版本的任何页面的 url 中添加“?reset”,对 Application.cfc 所做的更改会立即反映,但我们很快发现了一个令人讨厌的副作用:在测试版本上调用 reset ALSO 会更改我们的生产站点以使用Application.cfc 的测试版本,从而使一切变得强大。
在生产站点上运行“?reset”逻辑解决了这个问题,但随后导致所有测试页面使用生产 Application.cfc 而不是测试版本。等待 Application.cfcs 超时并自动刷新没有任何区别,所以现在我们的测试环境搞砸了。
任何对正在发生的事情或做什么的见解将不胜感激,因为我们相当难过。这仅仅是一个糟糕的架构吗?我们继承了它,现在已经习惯了这种结构,所以最好快速修复,但我愿意接受建议。
谢谢。
debugging - Coldfusion错误处理问题
在我的 Application.cfc 中,我有一个 onError 函数,它可以很好地处理所有错误,除非被调用的页面缺少结束标记。引发的错误是 InvalidEndTagNestingConfigurationException。我也想在应用程序中捕获这些类型的错误。
为什么 onError 不能捕获缺少的结束标记错误?有没有办法捕捉这些错误?
谢谢!
coldfusion - CFC 扩展同级文件夹
我已经看到了在父文件夹中扩展 cfcs 的各种解决方案,可以访问父文件或 CF 管理,但我还没有看到在“共享”/兄弟文件夹中扩展 cfc 而不访问父文件夹的可行解决方案。
此解决方案需要访问父文件夹吗?(不确定这些映射是什么,但无论如何我都无法访问 Application.cfc)
此解决方案需要能够创建一个对我不起作用的 application.cfc(在 myApp 中创建一个没有任何作用,因为我所在的环境包括 myApp 中的索引页面并从那里构建...客户端永远不会直接调用它来识别Application.cfc)
例如:
- wwwroot/some/path/myApp/Shared/Base.cfc
- wwwroot/some/path/myApp/Function/Function.cfc
我希望能够通过 super 和扩展从 Function.cfc 调用 Base.cfc 中的功能(其中包含应用程序中使用的常用方法)。
我可以访问 myApp 中的所有文件,但不能访问“wwwroot”、“some”或“path”。
为了在 Function.cfc 中扩展 Base.cfc,我必须扩展“some.path.myApp.Shared.Base”的完整路径,如果有人重命名 myApp 文件夹,这将导致问题,因为我必须手动编辑每个函数。扩展该 Base.cfc 的 cfc
我想要做的是创建一个特定于应用程序的“屏障”,因此如果应用程序文件夹名称发生更改,它不会造成大规模破坏,这需要我编辑所有使用 Base.cfc 功能的 CFC 文件。
由于我不能使用 Base 的相对路径(“..Shared.Base”),我想知道是否有一种方法可以在 myApp 文件夹中创建一个 CFC,我可以从中扩展并减轻重命名头痛发生或给它一个通用名称,如“myApp”并从那里扩展。(myApp.Shared.Base)
我无权访问 Application.cfm,也无权访问 Coldfusion 管理。