CFFlush Does Not Work Inside ColdFusion 8's CFLayout Tag
Posted October 10, 2007 at 2:18 PM by Ben Nadel
Very minor note (and probably irrelevant to most of you), but last night at the New York ColdFusion User Group, I discovered that CFFlush does not work inside of ColdFusion 8's new CFLayout tag (and other layout based tags most likely). While this might not seem like a big deal, just realize that if you use CFLayout to build your entire site structure, this means that content cannot be flushed to the client until the entire page has been constructed on the ColdFusion application server.
Again, this probably doesn't mean anything to most of you, and for those of you who use CFSaveContent-based frameworks, this is something you are used to; however, for me, somehow, in my gut, I just feel that CFFlush is important. I can't tell you exactly why, I just feel it in my core.
Also, cflayout tags wont work correctly on a full CSS layout, the Database Explorer application of Raymond Camden, doesnt work for me on FULL CSS layouts.
I think the recent update to CF was supposed to address something like this..
Ben you are the only developer who even uses cfflush. What a waste of a post and time! Sheesh! :) I tried the tag a few months back out of curiosity but never have had a need for it. How was the presentation? Hopefully you learned some neat things on cflayout.
Great, now I have to do a post on the valid uses of CFFlush ;)
It was ok. I think the layout things that are going to be most useful are the ones that are tied to AJAX content updates. The CSS aspects I was not all that impressed with. Of course, we didn't cover it in-depth, that was just my preliminary feeling.
I have to agree with Ben here. I only came across CFFlush relatively recently (though I'm sure I tried to find out if this was possible many years ago - perhaps it was introduced later), and do think it has a useful role to play in certain circumstances.
While it's not an everyday 'cool' feature, it is one of those things that just comes in damn handy for certain tasks we have to perform from time to time..
I use CFFLUSH for an application that interfaces with a payment terminal. It's really important that my web page display the current status of a payment, because user input is required through the web page (eg. Did the customer sign the payment slip? a "yes" or "no" button must be clicked)
I can't think of any way this would work without CFFLUSH..... which is causing me a lot of drama when it works perfectly in a CF8 Test environment and not at all in my CF8 Production enroironment!
Our CFFLUSH issues were related to the IIS6 "feature" that requires 73729 bytes in its buffer before it'll flush. We fixed it with a #repeatString(" ",73729)# before each CFFLUSH.
I'm using ColdFusion 10 with IIS6 and CFFlush isn't working at all... even with the above-mentioned "73729 bytes" trick. (We haven't had any issues with CF8/9, IIS6 and CFFlush.)
I've reported it as a bug (w/sample CF code to duplicate the problem):
Can anyone else confirm or deny that CFFlush functions properly on ColdFusion 10? (I'm using Developer version on Windows 7 64bit OS w/IIS6.)
I guess in order for CFFlush to work, some manual text editing of config files is required... I missed this when installing and will now need to remind myself this whenever reinstalling CF10. (CF8 & 9 didn't behave this way.)
To disable webserver buffer, change the is_buffer_enable to false in the cfroot\config\wsconfig\1\isapi_redirect.properties file. Disable webserver buffer if you want cfflush to work over an IIS connector. If your application does not use cfflush, set it to true for increase in the performance.