2012-01-10 55 views
2

我想从我的CFC Web服务的上下文中使用ColdFusion请求调试输出。这可能吗?下面是我试图访问一个样品CFC:用于CFC方法的ColdFusion请求调试输出

/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”来强制这个问题,但没有用。

+0

你使用什么浏览器?另外,/ cfjunk中是否有Application.cfc?如果没有,那么根目录中是否有Application.cfc?它是否可能强制关闭调试,并且你还没有销毁onRequest()中的REQUEST作用域? – 2012-01-10 22:52:52

+1

使用Chrome,尽管如果这是一个因素我会感到惊讶。在cfjunk或根文件夹中没有Application.cfc。你问,因为你已经调试输出在这种情况下工作?我看到你先前的回答,听起来很合理。有什么改变你的想法? – 2012-01-10 23:21:27

+0

是的,我复制了你的代码行,并把它放到我的本地工作cfserver中的/ services目录中,不仅让Coldfusion调试输出到屏幕 - 我似乎无法强制关闭它/禁止它,而不禁用CFAdmin中的调试 - 仍然在寻找...... – 2012-01-10 23:31:13

回答

2

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

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

在ColdFusion 8和更早版本以及未固定的ColdFusion 9.0中,此调试信息显示在浏览器输出中。

来源:Change in CFCs with Debugging and ColdFusion 9

+0

感谢您的帮助。 – 2012-01-11 15:56:29