【问题标题】:ColdFusion request debugging output for CFC methodsColdFusion 请求 CFC 方法的调试输出
【发布时间】:2012-01-10 22:15:18
【问题描述】:

我想从我的 CFC Web 服务的上下文中使用 ColdFusion 请求调试输出。这可能吗?这是我尝试访问的示例 CFC:

/cfjunk/jsonBug.cfc:

<cfcomponent output="true">

<cffunction name="test" returntype="string" access="remote" returnformat="json" output="true">
    <cfset local.str = structNew()>
    <cfsetting showDebugOutput= "true">
    <cfscript>
    str = {a = "hello", b = JavaCast("int", 23)};
    </cfscript>
    <cfreturn SerializeJSON(local.str)>
</cffunction>

</cfcomponent>

通过 http://localhost:8500/cfjunk/jsonBug.cfc?method=test 请求并打开请求调试,没有产生实际的调试输出。如您所见,我试图通过指定 showDebuggingOutput="true" 来强制解决此问题,但无济于事。

【问题讨论】:

  • 你用的是什么浏览器?另外,/cfjunk 里面有 Application.cfc 吗?如果没有,根目录中是否有 Application.cfc?它是否可能强制关闭调试,您是否进一步不破坏 onRequest() 中的 REQUEST 范围?
  • 使用 Chrome,但如果这是一个因素,我会感到惊讶。 cfjunk 或根文件夹中都没有 Application.cfc。你问是因为你已经得到了在这种情况下工作的调试输出吗?我看到了你之前的回答,听起来很有道理。有什么改变主意了吗?
  • 是的,我逐行复制了您的代码并将其放入本地工作 cfserver 中的 /services 目录中,不仅将coldfusion调试输出显示到屏幕上——我似乎看不到强行关闭/抑制它,而不禁用 CFAdmin 中的调试 - 仍在寻找...
  • 好的,我删除了您的 行,并且在我看来禁用了调试,这意味着您有一些后处理,即在结果命中之前关闭调试你的浏览器——还在寻找......
  • 嗯,我什至更改了 JVM,它仍然在屏幕上输出调试 - 你确定在 CFAdmin 中启用了调试吗?我意识到这听起来很愚蠢,但似乎没有什么可以真正阻止它(除了某处的流氓 cfsetting showdebugoutput=false)——即使这个人也有相反的问题:stackoverflow.com/questions/2561010/…

标签: coldfusion coldfusion-9 cfc


【解决方案1】:

在直接调用 CFC 的情况下,ColdFusion 中调试输出的行为在版本之间略有不同。

最新版本 ColdFusion 9.0.1抑制浏览器输出中的此调试信息。因此,您需要另一种机制来直接调试 CFC,或者通过跟踪/跟踪日志、将所有 CFC 调用封装在可以成功显示调试输出的 CFM 中,或者选择使用外部调试器来监视调用, IE。 FirebugChrome Developer ToolsCharles

在 ColdFusion 8 及更早版本以及未热修复的 ColdFusion 9.0 中,此调试信息会显示在浏览器输出中。

来源:Change in CFCs with Debugging and ColdFusion 9

【讨论】:

    猜你喜欢
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多