2014-11-24 12 views
5

Chiunque abbia problemi con il tag cfflush in ColdFusion 11? Abbiamo una routine che aggiorna un conteggio dei record dal vivo mentre sta elaborando un ciclo. In ColdFusion 10, funziona perfettamente. In ColdFusion 11, attende la fine del ciclo per aggiornare lo schermo. Non proprio quello che ci aspettavamo.ColdFusion 11 tag cfflush non funziona correttamente?

A cura di aggiungere codice come richiesto ...

<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> 
+1

Puoi condividere qualche altra informazione sul tuo ambiente (Windows, IIS, ecc.)? Si tratta di un server diverso dal server ColdFusion 10 (rispetto a un aggiornamento sul posto)? –

+0

Questo è il nostro ambiente di sviluppo. Quando aggiorniamo l'ambiente di produzione, sarà lo stesso dell'ambiente di sviluppo - attualmente si trova su una vecchia scatola che deve essere ritirata. Macchina virtuale, Win 2012, IIS 8 ... tutte le patch per CF11. CF10 era in esecuzione su questo ambiente e non abbiamo avuto problemi. Quindi .. Immagino che questo dovrebbe essere classificato come un aggiornamento sul posto. Il numero di problemi con CF11 però ci sta uccidendo. – Casuzen

+5

Controlla l'impostazione 'is_buffer_enable' nel file' cfroot \ config \ wsconfig \ 1 \ isapi_redirect.properties'. C'è un po 'di confusione su [Configura IIS per ColdFusion in Windows] (http://help.adobe.com/en_US/ColdFusion/10.0/Installing/WSc3ff6d0ea77859461172e0811cdec18a15-7ffb.html#WSf01dbd23413dda0e325f619f11fae41e1b4-7fff) che dice - _cambiare is_buffer_enable su false nel file cfroot \ config \ wsconfig \ 1 \ isapi_redirect.properties. Disabilita il buffer del server web se vuoi che cfflush funzioni su un connettore IIS. Se la tua applicazione non usa cfflush, impostalo su true per aumentare le prestazioni_ –

risposta

9

Promosso dai commenti

C'è un'impostazione di configurazione che è necessario per il tag <cfflush> funzioni correttamente con il server web. Nella pagina Configuring web servers in Windows di documentazione, sotto la Configurare IIS per ColdFusion nella sezione di Windows, tra le altre cose si afferma:

Per disattivare buffer di web server, modificare l'is_buffer_enable [sic] per false nel cfroot \ config \ wsconfig \ 1 \ file isapi_redirect.properties. Disabilita il buffer del server web se vuoi che cfflush funzioni su un connettore IIS. Se la tua applicazione non usa cfflush, impostalo su true per aumentare le prestazioni.

Sarà necessario riavviare IIS affinché questa modifica abbia effetto.

Non sono sicuro quali sono le conseguenze delle prestazioni nel disabilitare questa impostazione. Dovrai eseguire alcuni test di carico per vedere il tuo ambiente particolare.

+1

Voglio solo correggere un refuso, è 'iis_buffer_enable' NOT' is_buffer_enable' – dbinott

+0

@KrunchMuffin - sei corretto ma questa è una citazione (copia) diretta dalla documentazione di Adobe. Credo che dovrei aggiungere [(sic)] (https://en.wikipedia.org/wiki/Sic) ad esso. Grazie. –

+0

non mi sorprende affatto. ;) – dbinott