ویژگی Buffer  مشخص می کند که ایا بافر کرد ن خروجی انجام شود یا نه
 زمانی که خروجی بافر می شود ، سرور تا زمانی که پردازش تمام اسکریپت ها تمام نشده ، یا تا زمانی که اسکریپتی دستور flush  یا end را صادر نکرده ،  از ارسال خروجی به مرورگر کاربر جلوگیری می کند ، یا

 نکته :

اگر بخواهید از این ویژگی استفاده کنید ،باید  انرا قبل از تگ باز html در برنامه Asp تا ن بنویسید

 
 روش استفاده از این ویژگی :

 

response.Buffer[=flag]

 اشنایی با پارامتر flag:

یک مقدار بولین یعنی true یا false باید در ان قرار گیرد

که مشخص می کند ایا خروجی بافر شود یا نه

مقدار false یعنی بافر شدن انجام نشودو سرور مقدار خروجی بدست امده را به مرورگر کاربر ارسال خواهد کرد . اگر buffer را مشخص نکند ، در iis نسخه 4.0 مقدار پیش فرض ان false ست

اما مقدار پیش فرض در iis نسخه 5 به بعد برابر true است

 

و اما مقدار true یعنی عمل بافر کردن انجام شود 

سرور جلوی ارسال خروجی بدست امده را به مرورگر کاربر می گیرد و این توقیف تا پایان انجام شدن تمام اسکریپت های موجود در ا ن صفحه Asp طول می کشد

البته اگر در این بین در اسکریپتی دستور end یا Flush  بود عمل بافر کردن تمام می شود

 

 مثال 1 :

در این مثال ، قبل از اتمام اجرای حلقه هیچ خروجی به مرورگر کاربر ارسال نمی شود

اگر buffer برابر false شود ، همزمان با اجرای حلقه هر خروجی   بدست امده در خط  جداگانه در مرورگر کاربر نشان داده می شوند

 

<%response.Buffer=true%>
<html>
<body>
<%
for i=1 to 100
  response.write(i & "<br>")
next
%>
</body>
</html>

 
 مثال 2:

 

<%response.Buffer=true%>
<html>
<body>
<p>I write some text, but I will control when
the text will be sent to the browser.</p>
<p>The text is not sent yet. I hold it back!</p>
<p>OK, let it go!</p>
<%response.Flush%>
</body>
</html>

 خط اول باعث می شود که هیچکدام از متن های مشخص شده با تگ p در خروجی دیده نشوند

چون جلوی نمایش انها را گرفته

اما به محض رسیدن به خط response.Flush عمل بافر تمام می شود

 
 مثال 3 :

 

<%response.Buffer=true%>
<html>
<body>
<p>This is some text I want to send to the user.</p>
<p>No, I changed my mind. I want to clear the text.</p>
<%response.Clear%>
</body>
</html>

 خط اول ، جلوی نمایش متن های خروجی را می گیرد

اما خط اخر متن بافر شده را کلا پاک می کند البته نه از فایل برنامه بلکه از حافظه ای که محتوای ان باید در مرورگر کاربر نمایش داده شود پس چیزی به کاربر نمایش داده نمی شود و بافر پاک  می شود

 

 در این 3 مثال شما چند ویژگی و متد شی response اشنا شدید :

response.Buffer

response.Flush

response.Clear