是否可以在应用程序之间共享 CFC?

Is it possible to share a CFC between applications?

我是 运行 多个应用程序(网站),它们之间使用通用 CFC,例如用于字符串格式化和文本解析。

我发现很难跨多个站点更新相同的功能,并且希望只拥有一个通用 CFC 库,任何 ColdFusion 应用程序都可以采用该库作为实例。如果 CFC 库的位置可以在任何地方(在同一台服务器上或可能在不同的服务器上或在云中),那就太好了。

查看文档我不清楚这是否可行以及如何实现。如果不是,我们有什么选项可以跨应用程序重用代码?谁能指出我正确的方向?

假装您的 CFC 是自定义标签并使用有关自定义标签位置的文档。 Here is one.

这是 link 的一些文字。

存储自定义标签页

You must store custom tag pages in any one of the following:

The same directory as the calling page
The cfusion\CustomTags directory
A subdirectory of the cfusion\CustomTags directory
A directory that you specify in the ColdFusion Administrator

换句话说,如果您在 ColdFusion Administrator 中为自定义标记指定一个位置,则该位置中的所有自定义标记和 CFC 都将可供服务器上的所有应用程序使用。

要在任何你想要的地方有一个单独的文件夹来存放 common/shared CFC,你需要做的就是在你的 Application.cfc 文件中创建一个映射,然后使用它来引用 CFC 并制作它们的实例。

在 Application.cfc 中执行以下操作:

<cfset this.mappings["/sharedcfc"] = "absolutepath\to\sharedfolder e.g. C:\Code\CFC" />

如果您想在应用程序代码中使用 CFC,只需执行以下操作:

<cfset MyCFCInstance = New sharedcfc.folder.nameofcfc() />

您现在可以拥有一个供多用途 CFC 在您的应用程序中使用的公共区域。救命恩人!