Avatar billede denfedekat Nybegynder
09. april 2002 - 00:22 Der er 16 kommentarer og
1 løsning

Hvorfor Response.Buffer = true

Hej
Jeg har et bare et lille spørgsmål. I alle (næsten alle) af mine ASP-bøger starter de med følgende:
-------------------
<% @language = VBScript %>
<% response.buffer = true %>
---------------------
Hvad gør det godt for?
Avatar billede a1a1 Novice
09. april 2002 - 00:29 #1
at du kan kontrolere response.bufferen...:)
Avatar billede a1a1 Novice
09. april 2002 - 00:32 #2
hvis du fx har en side der ser sån ud:

for i = 0 To 100000
response.write "Hej hej hej<br>"
Next

og i den skriver response.buffer = true (i topppen)
vil browseren først vise noget når serveren "har lavet" hele siden.

hvis du skriver response.buffer = false
vil browseren vise det som serveren producerer det (lidt af gangen)
Avatar billede a1a1 Novice
09. april 2002 - 00:33 #3
det er pr. default:
response.buffer = true (i windows 2000 +)
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:35 #4
Hvilke fordele har det rent optimeringmæssigt
Avatar billede a1a1 Novice
09. april 2002 - 00:36 #5
<% @language = VBScript %>

betyder bare at siden er skrevet i VBscript (man kan, også bruge JScript)
Avatar billede a1a1 Novice
09. april 2002 - 00:39 #6
de "kloge" siger at det ikke er godt at have
response.buffer = false
da serveren hele tiden skal sende "små stykker" til klienten.

Hvis du har en "lang" side der tager lang tid at behandle (og har response.buffer = true i toppen) kan du "tvinge" serveren til at sende til browseren ved at skrive:
response.flush

det kan du så gøre med fx. toppen at siden så der er lidt at se på mens der søges i databasen eller noget..
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:42 #7
Okay. Tak
Du får dine points, men hvis jeg lige smider 30 mere i kan du så fortælle mig hvordan jeg får følgende datoformat frem:
----------------
dd-mm-åå kl. 23.45
----------------
Jeg kan godt finde ud af dd-mm-åå, men jeg kan ikke dreje klokken jeg får noget med AM/PM
Avatar billede a1a1 Novice
09. april 2002 - 00:43 #8
Du skal dog lige huske at tænke på at hvis du har en side der ser sån ud
<% response.buffer = true
response.Write "<table><tr><td>"
for i = 0 To 100000
response.write "Hej hej hej<br>"
response.flush
Next
response.Write "<td></tr></table>"
%>
vil du ikke se noget før serveren er helt færdig...?????

Det er dog fordi at browseren ikke kan finde ud af at "tegne" tablelen før den er helt færdig....:)
Avatar billede a1a1 Novice
09. april 2002 - 00:44 #9
er det din egen server????
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:44 #10
Okay
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:44 #11
Nej til det med serveren
Avatar billede a1a1 Novice
09. april 2002 - 00:46 #12
prøv med

<%
session.lcid = 1030
%>
i toppen af din fil og se om det dur...:)

(fortæller serveren at den skal "vise" kr. og dato i dk format)
Avatar billede a1a1 Novice
09. april 2002 - 00:47 #13
(behøver ikk fler point...:)
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:47 #14
Okay det prøver jeg lige 5 min...
Avatar billede denfedekat Nybegynder
09. april 2002 - 00:50 #15
Det virker 100
Thank You man
Avatar billede a1a1 Novice
09. april 2002 - 00:51 #16
:)
det var da godt :))))
Avatar billede a1a1 Novice
09. april 2002 - 00:52 #17
tak for points :)))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester