Quick References
ADO
ASP
CSS2
HTML
JavaScript
Jet SQL
VBScript
WML
WMLScript
WSH
XHTML
XML DOM
XSLT
Features
Knowledge Base
Tutorials
Partners
ZVON.ORG
XML
Planet Source Code
VisualBuilder
Web Design
Your HTML Source
XML/XSLT Forums
ASPAlliance
Scripts
Programmers Heaven
Tek-Tips Forums
Developer Fusion
Code Project
A100217: Response.Write Statements DO NOT Show Up Under IIS 5.
A common technique for quickly debugging simple ASP pages is to place Response.Write statements at key points in the code. Then, when an error occurs in the page, the output from all the debug statements prior to the point of failure shows up in the browser, followed by the error message generated by the ASP interpreter. While this method works fine under IIS 4/ASP 2.0, by default it will not work under IIS 5/ASP 3.0. This article explains why, and describes how to make IIS 5 behave the same as IIS 4 in this respect.
Under IIS 5, when an error occurs in the processing of an ASP page, the
only
output sent to the browser is the error page. This is because, under ASP 3.0, the
Response.Buffer
property is set to
True
by default. The effect of this setting is to cause all ASP-generated output to be buffered on the server rather than being immediately sent to the client. The buffered output is only sent to the client when execution of the page is complete, or an explicit call to
Response.Flush
is made. In the event of an error however, the ASP engine clears the buffer and sends only the error page to the client. Thus none of the Response.Write debug statements (or indeed any of the HTML code in the page) ever reach the browser.
Further complicating this issue, is that there is a quirk concerning the default value of
Response.Buffer
that is dependent on how Window 2000 is
initially
installed on your computer. If you do a clean install, the ASP 3.0 default value will be
True
(as expected). However, if the install is an upgrade, the ASP 3.0 default value will be
False
(not as expected!).
Fortunately, it is an easy matter to set the buffering to be false. While you are debugging, simply placing the following statement at the top of your ASP page:
<% Response.Buffer = False %>
For more details of the Response.Buffer property, refer to the online
DevGuru
ASP Quick Reference which now covers ASP 3.0.
The Guru
Copyright 1999-2005 by Infinite Software Solutions, Inc. All rights reserved.
Trademark Information
knoxville photographer
knoxville wedding photographer