无论我做什么,我都在缓存 CFC 中的特定功能时遇到问题。
这是场景:
CFC 通过 ColdSpring 在应用程序范围内实例化。该网站是活的,一切都很好。我想更改此 CFC 中称为“productSearch”的功能之一。无论我做什么,都不会尊重任何改变。
我通常重新启动应用程序以重新实例化 CFC,但这并没有什么不同。我已经尝试创建一个测试页面并在本地显式实例化 CFC,但这没有任何区别。我重新启动了Railo,重新启动了Tomcat,重新启动了服务器,但无济于事。
事实上,我唯一能看到我所做的更改的情况是,如果我真的重命名了函数。这个工作的事实表明 CFC 文件本身没有被缓存,否则新命名的函数将不可用。
更重要的是,这只发生在生产服务器上。如果我在我的开发服务器上进行完全相同的更改,一切都会按预期工作。
我以前从未见过这种情况,我有点不知所措。我真的没有太多代码可以显示它有什么用 - 为了测试,该函数现在包含以下内容:
<cffunction name="productSearch" access="public">
<cfdump var="#CGI#">
<cfabort>
</cffunction>
这失败了,但如果我将它重命名为“productSearch2”它可以正常工作。为了澄清起见,当我说“失败”时,我的意思是运行函数,就好像它根本没有改变一样——之前有各种各样的逻辑,返回一个结构。
Railo 是否在任何地方或其他地方存储解析后的 CFC 版本?我只是看不出这是怎么回事!