1

我有一个scheduled task应该每分钟运行一次。为了阻止从外部调用文件,我想像这样比较主机和调用 IP 地址:

 <cfif NOT structKeyExists( "variables", caller )>
    <cfset variables.caller = createObject("java", "java.net.InetAddress")>
 </cfif>

 <cfif variables.caller.getLocalHost().getHostAddress() EQ cgi.remote_addr> 
     // run task
 </cfif>

问题:
我真的不习惯objects在 Coldfusion 中工作,所以这是否可以确保在调用任务时每分钟创建一次对象并重新创建对象?由于这是在我的管理部分运行的,我应该立即在应用程序范围内创建对象吗?

感谢您的意见!

4

1 回答 1

1

即使请求是计划任务,当您运行请求时,所有变量都会在请求完成后销毁。只有会话、应用程序和服务器等变量在请求之间持续存在。

确保页面仅在它们所在的机器上运行的一种方法是:

<cfif cgi.remote_addr EQ "127.0.0.1"> 
 // run task
</cfif> 
于 2012-12-02T19:10:33.397 回答