ویژگی Buffer ASP
ویژگی Buffer تعیین میکند که آیا خروجی باید به صورت buffer ذخیره شود یا خیر. معمولاً اسکریپتهای ASP در سرور اجرا میشوند و هر خط اجرا شده به مرورگر ارسال میشود تا نمایش داده شود. وقتی خروجی به صورت buffer تنظیم شود، سرور تا زمانی که تمام اسکریپتهای سرور پردازش شوند یا تا زمانی که روش Flush یا End فراخوانی شود، خروجی را به مرورگر ارسال نمیکند.
نکته:اگر بخواهید این ویژگی را تنظیم کنید، باید قبل از برچسب <html> در فایل .asp قرار گیرد.
نحوه استفاده:
response.Buffer[=flag]
پارامتر | توضیحات |
---|---|
flag |
بولان، که نشاندهنده این است که آیا خروجی باید به صورت buffer ذخیره شود یا خیر. False نشاندهنده عدم حافظه است. سرور در حال پردازش، خروجی را به مرورگر ارسال میکند. نسخه IIS 4.0 به طور پیشفرض False است، در حالی که نسخههای IIS 5.0 و بالاتر به طور پیشفرض true هستند. True نشاندهنده حافظه است. سرور خروجی را ارسال نمیکند تا تمام اسکریپتهای صفحه پردازش شوند یا تا روش Flush یا End فراخوانی شود. |
مثال
مثال 1
در این مثال، خروجی در پایان حلقه به مرورگر ارسال نمیشود. اگر buffer به False تنظیم شود، هر بار که حلقه اجرا میشود یک خط به مرورگر ارسال میشود.
<%response.Buffer=true%> <html> <body> <% برای i=1 تا 100 response.write(i & "<br />") بعد %> </body> </html>
مثال 2
<%response.Buffer=true%> <html> <body> <p>من مقداری متن مینویسم، اما زمانی که کنترل میکنم... <p>متن به مرورگر ارسال خواهد شد.</p> <p>متن هنوز ارسال نشده است. آن را نگه میدارم!</p> <p>بسیار خوب، بگذارش برود!</p> <%response.Flush%> </body> </html>
مثال 3
<%response.Buffer=true%> <html> <body> <p>این متنی است که میخواهم به کاربر ارسال کنم.</p> <p>نه، من نظر خودم را تغییر دادم. میخواهم متن را پاک کنم.</p> <%response.Clear%> </body> </html>