Jag har ett sessionproblem. När man loggar in på sidan så läggs userid till i session. Sedan så läser nästan varje sida inne på sidan av den här session för att veta vems information den ska hämta.
Ibland blir det så att session "dör" och sidorna kan inte leta efter information om användaren, eftersom det inte finns något userid att leta med.
Det knepigaste är bara det att ibland händer det när man varit inloggad i 30 sekunder. Ibland händer det först efter 30 minuter och ibland händer det inte alls.
Det mönstret jag kan se mellan de här gångerna är det att det oftast händer när sidan eller kanske servern arbetar mycket. När man laddar många sidor efter varandra med kort mellanrum.
Är det så att sessions tar fasligt mycket minne på servern? VOre det bättre att köra med cookies?
Det känns lite mindre säkert med cookies, för då skulle ju en person kunna gå in i cookien och ändra till något annat userid och se någon annans saker.
Är problemet helt enkelt så att min server är seg, eller kan jag ha gjort något fel nånstans?
Har du två processorer?
Om sessionen är inställd på inproc så existerar den bara på processor nivå, dvs den kommer att skapa nya sessionsvariabler för allting när den byter processor.
Lösningen är att i machine.config ställa om hur många processorer man tillåter asp.net att köra på. (Kommer inte ihåg inställningen så här på rakarm)
Däremot så tycker jag att du ska se över din inloggning istället. Varför lagra userid i en sessionsvariabel när Forms Authentication sköter allt åt dig.
på nästan varje sida använder jag session för att veta vilken info användaren ska få. dessutom så att en användare inte ska kunna radera andra personers inlägg i gästböcker osv. Vad är Forms Authentication?