我们在Windows Server 2003上的JRun4中运行了ColdFusion 8应用程序。
我们如何检测(和显示)调试器是否在CF管理员中启用允许线路调试运行。检测后,我们希望在应用程序上显示调试器正在运行的警告。
答案 0 :(得分:4)
您应该可以使用ColdFusion Administrator API。当然,您需要安全/权限才能使用它。如果您使用的是沙盒安全性,请启用对cf_web_root/CFIDE/adminapi
目录的访问以使用管理员API。基本上,管理员API允许您以编程方式访问大多数 ColdFusion Administrator设置。
您可以使用Administrator API以编程方式执行大多数ColdFusion Administrator任务。管理员API由一组ColdFusion组件(CFC)组成,这些组件包含您调用以执行管理员任务的方法。
用于管理调试设置的CFC是debugging.cfc
。
这是一些伪代码(尚未经过测试):
<cfscript>
// Instantiate the administrator.cfc
adminObj = createObject("component","cfide.adminapi.administrator");
// Call the administrator.cfc login method, passing the ColdFusion Administrator password
adminObj.login("#password#","#username#");
// Instantiate the debugging CFC
debugObj = createObject("component","cfide.adminapi.debugging");
// Call the desired CFC method
if (debugObj.isLineDebuggerEnabled()) {
if (debugObj.isLineDebuggerRunning()) {
// Stop line debugger
debugObj.stopLineDebugger();
}
// Disable the line debugger
debugObj.setLineDebuggerEnabled(enabled="false");
}
</cfscript>
这应该让你开始。 Here is some documentation on the debugging.cfc and it's methods
Manages debug settings.
hierarchy: WEB-INF.cftags.component
CFIDE.adminapi.base
CFIDE.adminapi.debugging
path: {web-root}\CFIDE\adminapi\debugging.cfc
serializable: Yes
properties:
methods: addDebugEvent,
deleteIP,
getCurrentIP,
getDebugProperty,
getDebugRecordset,
getIPList,
getLineDebuggerPort,
getLogProperty,
getMaxDebuggingSessions,
isLineDebuggerEnabled,
isLineDebuggerRunning,
restartLineDebugger,
setDebugProperty,
setIP,
setLineDebuggerEnabled,
setLineDebuggerPort,
setLogProperty,
setMaxDebuggingSessions,
startLineDebugger,
stopLineDebugger,
validateIP*
inherited methods: dump,
getEdition,
getInstallType,
getJRunRootDir,
isAdminUser,
RDSInvoker,
setJrunSN