首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><cfthread>上的空指针异常

<cfthread>上的空指针异常
EN

Stack Overflow用户
提问于 2013-12-17 03:06:31
回答 2查看 775关注 0票数 1

下面的代码在Adobe 9.01+上工作,但不使用Railo4.1

而且,这仅在Post上失败。

此代码在setupRequest()中的FW/1 application.cfc中调用。

代码语言:javascript
复制
<cfthread name="threadA" action="run"> 

<cftry>

<cfquery>
    INSERT
    INTO    dbo.Traffic (Circuit, Fuseaction, IP_hash)
    VALUES  (<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listfirst(variables.rc.fuseaction, '.')#">,
        <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listlast(variables.rc.fuseaction, '.')#">,
        <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#cgi.remote_addr#">
        )
</cfquery>


<cfcatch />
</cftry>

</cfthread>

误差

railo.runtime.net.http.HttpUtil.cloneParameters(HttpUtil.java:66):66,railo.runtime.net.http.HttpServletRequestDummy.clone(HttpServletRequestDummy.java:677):677,railo.runtime.thread.ThreadUtil.cloneHttpServletRequest(ThreadUtil.java:67):67,railo.runtime.thread.ThreadUtil.clonePageContext(ThreadUtil.java:29):29,railo.runtime.thread.ChildThreadImpl.(ChildThreadImpl.java:101):101,railo.runtime.tag。scorecard38.application_cfc$cf.udfCall(D:\railo\webapps\www\Scorecard38\Application.cfc:162):162 at railo.runtime.type.UDFImpl.implementation(UDFImpl.java:94):94 ThreadTag.register(ThreadTag.java:269):269

野生猜

variables.rc不会被复制到线程中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-17 04:15:56

除非将variables.rc作为参数添加,否则不会将它复制到线程中。添加rc作为参数,然后通过arguments.rc访问它而不是variables.rc

代码语言:javascript
复制
<cfthread name="threadA" action="run" rc="#variables.rc#">
  <cftry>

    <cfquery>
    INSERT INTO dbo.Traffic (Circuit, Fuseaction, IP_hash)
    VALUES  (<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listfirst(arguments.rc.fuseaction, '.')#">,
    <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#listlast(arguments.rc.fuseaction, '.')#">,
    <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#cgi.remote_addr#">
    )
    </cfquery>

    <cfcatch />
  </cftry>

</cfthread>

如果这样做不起作用,您将不得不删除try/catch并将cf线程转储出来以查看错误。下面的代码将输出“变量C未定义”

代码语言:javascript
复制
<cfthread name="threadA" action="run">
  <cfset b = c>
</cfthread>
<cfdump var="#cfthread#"><cfabort>
票数 1
EN

Stack Overflow用户

发布于 2014-04-28 23:00:30

我也有同样的问题就是你。您正在使用CGI变量,这就是导致问题的原因

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20625158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档