webForumDet fria alternativet

Response.Buffer?

9 svar · 357 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003438 inlägg
#1

Windows XP, Access, server: bluerange

Har ett problem med cookies m.m. Vet inte riktigt varför problemet dyker upp, lokalt fungerar sidan som den skall men uppe på serverna funkar det inte då säger den enligt nedan:

Response object error 'ASP 0156 : 80004005'
Header Error

/default.asp, line 242 (Denna linjen: <% Response.Buffer = True %>)

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

Servern gillar inte när <%Response.Buffer =True %> ligger mitt i texten, den vill ha den först. Men om jag flyttar den först, genererar koden men funkar inte som den skall.

Har det med cookie att göra? Att servern inte klarar det? Några ideér. Det är ett intressant problem iallafall, jag fattar nada.

Alltså lokalt på min egna dator fungerar sidan, och det spelar ingen roll var <%Response.Buffer = true %> ligger, men det tycks vara annorlunda på servern.

Hoppas någon kan ge mig lite ljus på problemet.

Tack på förhand.

@ndersMedlem sedan juni 200032 969 inlägg
#2

Märkligt att det fungerar lokalt. Response.Buffer = true måste vara den första kodraden i dokumentet. Det enda som får vara före är en ev. <%@ ...%> - rad.

Om sidan ska ligga på en IIS5 / IIS5.1 så ska du dock inte behöva den raden, eftersom buffern är på per default.

mvh

VideMedlem sedan dec. 19998 577 inlägg
#3

@nders skrev:

Response.Buffer = true måste vara den första kodraden i dokumentet. Det enda som får vara före är en ev. <%@ ...%> - rad.

Fast det är inte riktigt sant. Du kan sätta och ändra Buffer tills dess att du har skickat någonting till webbläsaren.

Sedan att det (i toppen) troligtvis är det rimligaste stället att ha buffer satt, är en annan sak. ;)

@ndersMedlem sedan juni 200032 969 inlägg
#4

Ajajaj. Det stämmer bra det. Så går det när man skriver utan att tänka. :D

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#5

Sen om man har option explicit så ska detta också vara innan.

VideMedlem sedan dec. 19998 577 inlägg
#6

Option Explicit måste vara som @nders sa om Buffer, längst upp men efter @direktiv. :)

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#7

Förresten, vi har lite kludd med vår interna utvecklingsmaskin. Den vill aldrig buffra, trots att man ställt in det i IIS:en och har Response.Buffer = True.
Väldigt irriterande när det kommer felmeddelanden mitt inne i select-boxar eller andra ställen där man inte kan se vad det står. :l

PatrikBMedlem sedan mars 20002 836 inlägg
#8

Erik Juhlin skrev:

Förresten, vi har lite kludd med vår interna utvecklingsmaskin. Den vill aldrig buffra, trots att man ställt in det i IIS:en och har Response.Buffer = True.
Väldigt irriterande när det kommer felmeddelanden mitt inne i select-boxar eller andra ställen där man inte kan se vad det står. :l

Fast, detta fel beror ju inte på buffringen. Även fast du har buffer = true eller false och ett fel uppstår så kommer det att "kastas" direkt .... om du inte har felhantering. Dvs, blir felet i en select-box kastas allt som skrivits till clienten + felmeddelandet.
Det är browsern som inte klarar av att visa texten som kommer inne i en select-sats

cya,
PatrikB

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#9

Jo, men så får vi inte på vår riktiga server. Fast iofs kan felhanteringen vara konfigurerad fel så den inte gör transfer till en ny sida...

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#10

Kollade nu. Rätt konfigurerat. "/IABSSPAdm/error/500-100.asp" är inlagt. Och det är HTML-koden från den sidan som kommer.
Men den verkar göra en Server.Execute istället för Server.Transfer om ni förstår... :)

139 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)