Coldfusion 如何使用不同文件夹中文件中的组件

Coldfusion 如何使用不同文件夹中文件中的组件,coldfusion,cfc,Coldfusion,Cfc,使用版本:2016,0,10314028 我知道还有其他问题可以解决这个问题,但由于这些问题有点陈旧,我想知道从那时起是否有什么变化。我的问题是: 在Application.cfc(位于根文件夹中)内的“OnRequestStart”函数中,我有: “comp”开始文件夹并登录cfc文件的名称 在同一个应用程序中,我毫无问题地使用cfc,如下所示: 即使在根目录中的logout.cfm文件中,相同的cfinvoke方法也可以工作。 但是,例如,如果用户从位于/subfolder/Layout

使用版本:2016,0,10314028

我知道还有其他问题可以解决这个问题,但由于这些问题有点陈旧,我想知道从那时起是否有什么变化。我的问题是:

在Application.cfc(位于根文件夹中)内的“OnRequestStart”函数中,我有:
“comp”开始文件夹并登录cfc文件的名称

在同一个应用程序中,我毫无问题地使用cfc,如下所示:

即使在根目录中的logout.cfm文件中,相同的cfinvoke方法也可以工作。 但是,例如,如果用户从位于/subfolder/Layout.cfm中的文件中尝试相同的cfinvoke,cfinvoke将抛出错误。看起来是这样的:

我尝试将应用程序的名称放在点符号声明(app.folder.cfcfcfile)中,但即使在根目录中调用cfc的文件中也不起作用。
同一服务器中的其他网站正在使用这种方法,在OnRequestStart中声明cfc的点符号名称,并在整个文件中使用该变量,但我找不到在这个特定站点中不起作用的原因。如果您想知道F:/route,在本例中,F:/WebSitesTij/CFSites/sit\u tij/应该是我的根文件夹。非常感谢您的帮助。

在设置应用程序变量时,您是否尝试过使用整个目录路径?@DanBracuk您是指整个“F:/folder/folder/cfcfcffolder/cfcfcfcffile”?这就是我的意思。请在出现错误的文件夹中调用
expandPath(“/”
。在解析组件包路径时,它将告诉您CF认为根路径是什么。如果该级别上没有
SGICE
文件夹,您就找到了问题所在。@AlanVelasco这正是发生的情况。您必须修复站点设置(取决于连接器/Web服务器的设置方式),或者在
应用程序.cfc
中指定映射,以将
SGICE
路由到特定的实际路径,例如: