ColdFusion 11 cfflush标签无法正常工作?

Cas*_*zen 6 coldfusion coldfusion-11

任何人在ColdFusion 11中遇到cfflush标签问题?我们有一个例程,它在处理循环时更新实时记录计数.在ColdFusion 10中,这很好用.在ColdFusion 11中,它会一直等到循环结束才能更新屏幕.不是我们所期望的.

编辑按要求添加代码...

<script language="javascript">
    addOutputLine('<br /><span id="insertCount">Records Inserted: 0</span>')
</script>
<cfset insertCount = 0>
<cfset updateCountAfter = 1>
<cfif qry.recordcount gt 5000>
    <cfset updateCountAfter = 10>
</cfif>

<cfoutput query="qry" startrow="#DATASTART#">
    <!---do some stuff here that is not important to this issue--->

    <cfset insertCount = insertCount + 1>
    <cfif updateCountAfter gt 1>
        <cfif insertCount mod updateCountAfter eq 0>
            <script language="javascript">document.getElementById('insertCount').innerHTML = 'Records Inserted: #insertCount#';</script>    
        </cfif> 
    <cfelse>
         <script language="javascript">document.getElementById('insertCount').innerHTML = 'Records Inserted: #insertCount#';</script>
    </cfif>

    <cfflush>

</cfoutput>
Run Code Online (Sandbox Code Playgroud)

Mig*_*l-F 11

从评论中推广

有一个配置设置是<cfflush>标签与Web服务器一起正常工作所必需的.在Windows文档页面中的配置Web服务器上,在Windows中为OpenFusion配置IIS部分,以及其他内容:

要禁用webserver缓冲区,请将is_buffer_enable[sic] 更改为falsecfroot\config\wsconfig\1\isapi_redirect.properties文件.如果希望cfflush在IIS连接器上工作,请禁用webserver缓冲区.如果您的应用程序不使用cfflush,请将其设置为true以提高性能.

请注意,我在上面引用的Adobe文档中存在拼写错误.它应该说明iis_buffer_enable,而不是is_buffer_enable(错过"我").感谢KrunchMuffin指出这一点.

您需要重新启动IIS才能使此更改生效.

我不确定禁用此设置的性能后果是什么.您需要为特定环境进行一些负载测试才能看到.

  • 只是想纠正一个错字,它是`iis_buffer_enable` NOT`is_buffer_enable` (2认同)