webForumDet fria alternativet

Slut på minne.: 'Session'

ASP

13 svar · 753 visningar · startad av NEOLiNES

Medlem sedan okt. 200459 inlägg
Frågan#1

Får detta underbara felmeddelande. Det är inte minnet på servern som är slut. Det finns gott om både ram- och lagrings-minne, så jag har inte en aning om vad detta handlar om :S

Jag gjorde en fuling och lade upp spelmotorn på Loopia för att se om jag fick samma resultat där. Så skickade jag iväg ett mail till dem och sade att det var fel på deras servar :P

Fick följande svar,

Det felmeddelande som du mottar beror på att minnet som du försöker använda dig av inte finns tillgängligt och du mottar då information om detta. Jag kan däremot inte se vad som kan orsaka att ditt minne tar slut.

Du bör kontrollera så att du tömmer din minneshantering på ett korrekt sätt så minneshanteringen inte blir större och större ju mer besökare eller ju större belastning som din sida får.

Någon som har någon bra idé om hur jag kan lösa problemet?

Felmeddelande

Körningsfel i Microsoft VBScript fel '800a0007' 

Slut på minne.: 'Session' 

/_inc/incFunction.asp, rad 500

ASP

Function IsOnline
	If Session("userOnline") = "inloggad" Then   [c][b]'[/b]Rad 500[/c]
		IsOnline = True
	Else
		IsOnline = False
	End If
End Function
Medlem sedan juni 20019 519 inlägg
#2

Frågan är hur många gånger du kör IsOnline då du lyckas med det? :)

Medlem sedan okt. 200459 inlägg
#3

voigtann1 skrev:

Frågan är hur många gånger du kör IsOnline då du lyckas med det? :)

Innan felkoden kommer körs IsOnline en gång som lyckas, gången därpå genereras felmeddelandet

Medlem sedan feb. 200112 078 inlägg
#4

För det första; har du några object eller andra mängder variabler i Session? Och du får inte skriva din If-sats sådär, den ska se ut såhär;

Function IsOnline
	IsOnline = CBool(Session("userOnline") = "inloggad")
End Function
Medlem sedan okt. 200459 inlägg
#5

OveRRidE skrev:

För det första; har du några object eller andra mängder variabler i Session? Och du får inte skriva din If-sats sådär, den ska se ut såhär;

Function IsOnline
	IsOnline = CBool(Session("userOnline") = "inloggad")
End Function

Så här ser det ut över sessionerna. Innehåller inga stora värden tycker jag iallafall...

Vid inloggning,

Session("userId")	= innehåller användarens id i hash256
Session("userLeague")	= innehåller användarens ett liga-id i hash256
Session("userAdmin")	= innehåller användarens info om han/hon är admin i hash256
Session("userOnline")	= "inloggad"

Vid utloggning,

Session("userId")	= ""
Session("userLeague")	= ""
Session("userAdmin")	= ""
Session("userOnline")	= "utloggad"
Medlem sedan feb. 200112 078 inlägg
#6

Okej. Försök skriva ut den sessionsvariabel som det smäller på, för att se om du kan få ut värdet.

Medlem sedan okt. 200459 inlägg
#7

Att skriva ut är inga problem. Den skriver ut alla sessionsvariabler utan problem.

Får även ett annat felmeddelande på andra sidor.

Felmeddelande

Körningsfel i Microsoft VBScript fel '800a001c' 

Slut på stackutrymme.: 'getMyManagerId' 

/_inc/incManager.asp, rad 61
Function getMyManagerId
	getMyManagerId = Session("userId")
End Function
Medlem sedan juni 20019 519 inlägg
Medlem sedan okt. 200459 inlägg
#9

voigtann1 skrev:

Googlade på felkoden:
http://www.webmasterworld.com/forum47/227.htm
http://classicasp.aspfaq.com/general/i-have-plenty-of-ram-why-do-i-get-an-out-of-memory-error.html

Fann inget direkt svar där dessvärre.. Testade att även skriva ut funktionen getMyManagerId, och lyckades jättebra!

Medlem sedan juni 20019 519 inlägg
#10

Jag undra om du inte har satt någon evighets loop då på någon av dina sidor... för du skriver att det går bra att skriva ut det...

Medlem sedan okt. 200459 inlägg
#11

voigtann1 skrev:

Jag undra om du inte har satt någon evighets loop då på någon av dina sidor... för du skriver att det går bra att skriva ut det...

Nej nej, inga sånna klantigheter här inte :) Sidorna laddar på 0,03 sekunder så några evighetsloopar sysslar jag inte med.

Medlem sedan juni 20019 519 inlägg
#12

Ändå skriver du att du kan skriva ut den 1 ggr och sen får du slut på minne. Något klantigt har du lyckats med ;) Det är något "annat" som gör så det blir fel... även om du inte vill det ;) för de kod rader du har gett oss säger inte mycket ;) Dom ser OK ut :)

Medlem sedan okt. 200459 inlägg
#13

Grejjen är den att "all" kod ser okey ut. :) Kan det ha någon med min Response att göra tro? Att det måste tömmas eller liknande?

Medlem sedan dec. 2004736 inlägg
#14

Vad har du för värde på Session.TimeOut?

260 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)