webForumDet fria alternativet

problem med Sessions

ASPur ASP

27 svar · 705 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Frågan#1

Jag har två mycket viktiga sidor..

Den ena ser ut så här

session("tmp") = "Doh"

samt en helt vanlig länk till sida 2

Sida 2 ser ut så här

response.write session("tmp")

och detta fungerar inte :) den tappar informationen i session("tmp") :)

Det roliga var att jag testade i en mapp på webservern och då fungerade det men i en annan mapp (virtuell) så fungerade det inte..

:) medan jag skrev detta så löste det sig.. om man tog bort virtual directory och la hela mappen i wwwroot så fungerade det :) skumt..

Medlem sedan nov. 20017 144 inlägg
#2

Gör cookies istället, jag har haft samma problem.

Medlem sedan feb. 20022 594 inlägg
#3

. :q Sessions är ju cookies.

Medlem sedan nov. 20017 144 inlägg
#4

Ekström skrev:

. :q Sessions är ju cookies.

Jaha men alltså istället för att ge en session ett värde som man skall släpa runt, så kan man väl sätta en cookie eller är det samma sak?
Jag försökte en gång att jobba med sessionsvariabler men jag fick aldrig det att funka, så jag började med cookies i stället.
Sessionen sätts väl av servern medans kakan är klientbaserad.

Medlem sedan feb. 20001 590 inlägg
#5

Sessions id sparas lokalt som en cookie, kolla i mappan cookies i windowskatalogen, eller i den lokala profilens mapp. Denna information skickas sedan med alla dokument till och från servern.

Det är fullt möjligt att det strular till sig när man skapar virtuella mappar, och detta kan medföra att sessionerna "bråkar"

/T

Medlem sedan nov. 20017 144 inlägg
#6

Ok, men vad är då skillnaden om de nu är så lika?
Och vem har inte hört: -"Sluta med sessions, dom sölar ner!"

Medlem sedan sep. 2002106 inlägg
#7

Sessions är väl en form av minneshanterare som man använder för att hantera strängar och värden? Eller har jag missförstått allt?

Medlem sedan apr. 20022 743 inlägg
#8

Sessions sparas bara tills man stänger webbläsarem, menads man kan lagra en cookie en längre tid

Medlem sedan feb. 20001 590 inlägg
#9

Och vem har inte hört: -"Sluta med sessions, dom sölar ner!"

Ett antal sessioner per domän ger inte ens mätbar prestandaförlust.

Prestandasnack överhuvudtaget är väldig överdriven eller inkorrekt. Det är bara en prestandatest med tex. stresstool som kan svara på det.
Kör du en dedikerad webbserver med bara en domän, kan du ha flera hundra olika sessionsvariabler utan det märks (jag har testat)

Medlem sedan maj 20023 372 inlägg
#10

Alla datorer stödjer sessions?

Alla datorer stödjer inte cookies.

Medlem sedan nov. 20017 144 inlägg
#11

Ok, till grundfrågan varför funkar det varken för mig eller henrikjohansson då? Alltså man sätter en sessions variabel och på "nästa sida" är den borta?

Medlem sedan maj 20023 372 inlägg
#12

Jag har samma problem. :(

Medlem sedan jan. 20022 440 inlägg
#13

Nej sessioner sparas inte alltid tills man stänger webläsaren. Jag kan inte använda sessioner om jag inte har en sida som är samma hela tiden. DVS jag har en <!--#Include file="header.asp"--> överst på sidan. Om jag kör utan includes så stängs session ner både lokalt på min egna server och på den server som företaget använder.

Min rekommendation är därför att ha någon form av include, även på en tom sida kan fungera efter att ni inkluderat adovbs.inc och själva objConnection

Medlem sedan feb. 20001 590 inlägg
#14

Jag tror problemet beror på var sidorna är placerade (virtuell mapp, domän)
Det kan också bero på säkerhetsinställning i webbläsaren.

Kan webbläsaren ta emot cookies, så bör det funka.

CatZ-> ditt problem verkar bero på session time out, eller att sessioiner helt enkelt inte är aktiverade i IIS

Medlem sedan apr. 20021 203 inlägg
#15

En session förstörs väl som standard efter 20 minuter?

:)

Medlem sedan maj 20023 372 inlägg
#16

Ja, standard är 20 min, kan förlängas med tex: Session.Timeout = 60

(totalt 60 min)

Medlem sedan maj 20023 372 inlägg
#17

Ok, hade ju samma problem, har nu lösningen tror jag.

Lade:
<% Response.Buffer = True %>
<!-- #include file="adovbs.inc" -->

i header.asp som jag sedan inkluderar på de berörda sidorna allra först i koden : <!--#Include file="header.asp"-->

Så fungerar det helt plötsligt. :) :) :)

Medlem sedan jan. 20022 440 inlägg
#18

För att ta steget lite längre... kan man inte kolla om besökarens webläsare klarar cookies, om besökarens webläsare INTE klarar cookies så väljer man att skapa en session istället.... kan det fungera ?

Medlem sedan jan. 20022 440 inlägg
#19

Toonster skrev:

CatZ-> ditt problem verkar bero på session time out, eller att sessioiner helt enkelt inte är aktiverade i IIS

Gör man så som jag sade så fungerar det eller hur ? ;)

edit:

Pellefant skrev:

Ok, hade ju samma problem, har nu lösningen tror jag.

Lade:
<% Response.Buffer = True %>
<!-- #include file="adovbs.inc" -->

i header.asp som jag sedan inkluderar på de berörda sidorna allra först i koden : <!--#Include file="header.asp"-->

Så fungerar det helt plötsligt. :) :) :)

Response.Buffer = True är ju förinställt så det borde inte påverka. Men alla servers är ju olika och det finns nog fler än ett sätt att koda på. Kan hända att några av oss gör samma misstag och att det är därför som inte sessions vill sig som det ska.

Själv använder jag också response.buffer = true bara utifall att ;)

Medlem sedan sep. 20026 425 inlägg
#20

Pellefant; maxtid för sessioner är väl inte 60 minuter, man kan ju ha ännu högre eller? Jag har för mig det..

252 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
126 ms — hämta forumlista (db)
116 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)