Just nu i M3-nätverket
Gå till innehåll

Sessionen följer inte med?


sudd

Rekommendera Poster

Hej, jag har ett mycket jobbigt problem som orsakar strul. Vi har en webbsida med mycket hög trafik. Den styrs av en inloggning där en session startar varje gång en medlem loggar in. Men ibland händer det att sessionen inte följer med när man klickar sig runt på sidorna, det största problemet är när man skall läsa ett mejl från andra medlemmar, då öppnas ett "popup" och ibland så följer inte sessionen med.

 

Finns det någon lösning på detta, vore mycket tacksam för alla svar! Ta det lugnt i sommarvärmen!

 

/Hasse

Länk till kommentar
Dela på andra webbplatser

Johan Knape

Har hört att sessioner inte skall vara hundra procentiga.

 

Men har du tänkt och använda cookies? Eller kör du med för mycket information i Session variablen?

 

 

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

För att session-state ska fungera måste klient-programmet acceptera cookies.

Med nya IE6 är default-inställningen att acceptera cookies om de inte är "3rd party", vilket IE6 tror att en del cookies är även om de inte är det. Men SessionID-cookien borde inte ställa till några problem, har aldrig varit med om det tidigare.

 

Bara för att vara säker - ni har inte en klustrad webbfarm? För i så fall fungerar inte IIS-Session-state.

 

--

En röst talade till mig och sade:

"Le och var glad, ty det kunde vara värre".

Så jag log, och jag var glad.

Och det blev värre.

 

Länk till kommentar
Dela på andra webbplatser

Tack för Era svar, men kan man köra med Cookies? Den har väl inte samma funktion som session? Har ingen vidare koll. Men jag ska kolla med vårt serverhotell.

 

 

 

Länk till kommentar
Dela på andra webbplatser

Magnus Ahlkvist

Om ni använder Session-state så använder ni Cookies. För att IIS-sessioner ska fungera så skickas sessions-ID:t till browsern i en cookie.

 

Ett alternativ är att göra om er applikation så att den mellan varje sida skickar med ett unikt ID med URL:en (typ sidan2.asp?sessionID=lkljmn90112oiplk1212)

Kolla på varje sida om det finns ett ID eller inte. Gör det inte det så genererar man ett unikt ID, och i en DB-tabell med fälten sessionID (varchar), varName (varchar),varValue(varchar), där sessionID + varName bildar primärnyckel stoppar man sedan in värdena som man tidigare lagrat i sessions-variabler.

Det kan tyckas lite långsamt och segt att använda en databas för att lagra sessions-variabler, men eftersom i stort sett varje sida ändå öppnar en DB-anslutning (i de flesta applikationer) blir det ingen större overhead. Som en liten bonus kan man då stänga av "Enable Session State" i IIS, och på så sätt spara en massa systemresurser, och få IIS att inte serialisera requests (användbart i ex.vis framesets, där sidorna annars måste processas en efter en av IIS)

 

--

En röst talade till mig och sade:

"Le och var glad, ty det kunde vara värre".

Så jag log, och jag var glad.

Och det blev värre.

 

Länk till kommentar
Dela på andra webbplatser

Tack så hemskt mycket för ditt välskrivna och pedagogiska svar, det fungerar alldeles utmärkt med ett unikt sessionid. Använder det bara på ett speciellt stället där annars session haft svårt att följa med.

 

*Bugar och bockar*

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...