| |
[ 30. June 2000]
- Jany_Masaryk
Response.Buffer a jeho vyu₧itie
Vlastnos¥ Buffer urΦuje, Φi sa obsah ASP strßnky najprv cel² vykonß (hodnota True) a a₧ potom sa zaΦne
posiela¥ prehliadaΦu, alebo Φi server zaΦne posiela¥ dßta okam₧ite pri vytvorenφ prvΘho riadku HTML
(hodnota False).
V²chodzia hodnota je nastavenß na False.
Prφklad pou₧itia
<%@ Language=VBScript %>
<%Response.Buffer = True%>
<HTML>
<HEAD>
<title>Test Buffer </TITLE>
</HEAD>
<BODY>
<%
for i =1 to 100
Response.Write(i & "<BR>")
for j = 100 to 1000000
next
next
%>
</BODY>
</HTML>
Sk·ste si tento s·bor spusti¥ na VaÜom webovskom serveri. Prv²krßt spustφme s·bor s direktφvou True.
Vidφme, ₧e sa nßm pomerne dlh· dobu niΦ nezobrazuje a potom sa nßhle zobrazφ celß strßnka. Pri pou₧itφ
hodnoty False sa strßnka zobrazuje postupne po riadkoch.
VÜimnime si vÜak v²konnos¥.
True |
False |
10 s |
1 min 13 s |
Ako je vidno z tabu╛ky je tu v²znamn² rozdiel v r²chlosti spracovania. Nebudem tu uvßdza¥ parametre m⌠jho
stroja, ke∩₧e si rovnakΘ merania m⌠₧e spravi¥ jednoducho ka₧d² z Vßs.
Sp⌠soby nastavenia
Existuj· dva sp⌠soby nastavenia Bufferingu.
Prv² je nastavenie v Microsoft Internet Information Serveri (MS IIS),
ktor²m m⌠₧eme nastavi¥ Buffer vlastnos¥ pre cel² web.
V Microsoft Management Console vyvolßme prav²m tlaΦφtkom myÜi "Properties" danΘho webu. Zvolφme zßlo₧ku
"Home Directory" a stlaΦφme "Configuration ...". V novom okne vyberieme zßlo₧ku "App Options" a tam u₧ nßjdeme
zaÜkrtßvacie tlaΦφtko "Enable Buffering".
Druh²m sp⌠sobom je nastavenie na strßnke, tak ako to
je uvedenΘ v naÜom prφklade. V prφpade, ₧e sa lφÜia nastavenia na strßnka s
nastavenφm v MS IIS, mß nastavenie na strßnke vyÜÜiu prioritu.
Upozornenia
- vlastnos¥ Buffer musφ by¥ urΦenß pred vygenerovanφm tagu <HTML>
- ak je vlastnos¥ Buffer nastavenß na True a skript nevolß met≤du "Flash", potom webovsk² server vyhovuje po₧iadavke
na udr₧enie spojenia (Keep-Alive)
- ak je vlastnos¥ Buffer nastavenß na False alebo skript volß met≤du "Flash", potom webovsk² server
pri ka₧dej ₧iadosti vytvßra novΘ pripojenie
Zßver - V²hody a nev²hody pou₧φvania Response.Buffer
V²hody pou₧itia (True) |
Nev²hody pou₧itia (False) |
- zr²chlenie vykonßvania ASP strßnok
- v prφpade, ₧e klient mß pomalΘ spojenie, server neΦakß na jeho odozvu po krokoch ale posiela strßnku "naraz"
|
- pri zlo₧itejÜej strßnke u₧ivate╛ dlho nevidφ v²sledok, Φo ho m⌠₧e vies¥ k opΣtovnΘmu Refresh
Φφm sa zahlcuje Server
|
Ako teda z danΘho zßvereΦnΘho preh╛adu vypl²va aj tu platφ zlatß strednß cesta. Na otßzku Φi vlastnos¥ Buffer
pou₧φva¥ a Φi nie sa rozhodujeme pod╛a toho ako zlo₧itΘ mßme skripty a pod╛a toho akΘ dobrΘ spojenie maj· naÜi
u₧ivatelia a ako s· trpezlivφ.
EÜte jedno Üalam·nske rieÜenie na zßver
Pomocou tohoto skriptu umo₧nφme vykonanie strßnky naraz a pritom u₧ivate╛a poprosφme
o chvi╛ku trpezlivosti.
<%@ Language=VBScript %>
<%Response.Buffer = True%>
<%Response.Expires = 0%>
<html>
<head>
<meta content="SWH, SWH-KB, menu" name="keywords">
<meta content="Jan Masaryk" name="Author">
</head>
<body onLoad='WinOnload()'>
Prosφm Φakajte ...
<Script Language='JavaScript'>
function WinOnload()
{
location.href = 'UserListNameBuffer_sk.asp';
}
</Script>
</body>
</html>
Dan² skript toti₧ zobrazφ text "Prosφm Φakajte ..." a naΦφtava ASP strßnku. Po jej naΦφtanφ sa presmeruje
na t·to strßnku a ke∩₧e strßnka je u₧ naΦφtanß tak sa rovno zobrazφ. MilΘ rieÜenie, no nie ?
|
|
| |
|
"Response.Buffer a jeho vyu₧itie" | Login / vytvor konto | 0 Komentßrov |
|
Za obsah komentßrov je zodpovedn² u₧φvate╛, nie prevßdzkovate╛ t²chto strßnok. |
|