14. april 2010 - 21:09Der er
6 kommentarer og 1 løsning
Sessioner bliver nulstillet, når webhotel bliver recyclet,
Jeg har en hjemmeside med et login system. Når man logger ind er det sessionen der holder styr på at man er logget på.
Det har virket fint, men en gang i mellem bliver alle smidt af.
Jeg har fået svar fra mit webhotel, at det der afvikler hjemmesiderne bliver "recyclet", for at rydde op i den hukommelse der er allokeret, og at dette sletter alle sessioner.
Er der en smart måde, hvor jeg sikre at mine bruger ikke bliver smidt af, når webhotellet laver deres recycle?
Det korte svar er: Du skal lade være med at benytte sessions (og application for den sags skyld).
Men det er du sikkert ikke tilfreds med, så et lidt mere konstruktivt svar er, at du styrer dine brugeres session-data i databasen (eller på serverens harddisk). Det kræver dog at du strikker et lille sessionstyringsmodul sammen, som kan sørge for at hente og gemme sessiondata i databasen i stedet for standard session-objektet. Du kan evt. benytte det indbyggede sessionobjekt som cache for dine databasesessions, så du kun henter sessiondata fra databasen, når session-objektet ikke selv indeholder de forventede data. Nøglen til dine sessiondata i databasen kan du, som med det indbyggede session-objekt, lægge i en cookie som transporteres mellem klient og server ved hvert serverkald. Alle skrivninger til session SKAL sendes i databasen, ellers risikerer du at miste sessiondata i forbindelse med recycling...
Det er svært at sige, men standardindstillingen på en IIS 6.0 er efter min bedste overbevisning, at der udføres recycle med nogle faste intervaller. Hvad den enkelte ISP's politik vedr. dette er, må jo undersøges hos dem :-)
NB: En anden fordel ved at rykke sessionstyring ud af den standard ASP session er, at du får lettere ved at kombinere ASP med ASP.NET. Deres session-stryringsmekanismer er nemlig ikke umiddelbart kompatible og så er det noget skrammel at skulle til at lave det om på bagkant. Det problem har jeg løbet ind i med et nogenlunde besøgt communitysite - hvor vi valgte IKKE at kombinere ASP og ASP.NET, da det ville være en for stor omkostning.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.