søndag 27. januar 2008

Bloggidol: Sesjoner dør for tidlig i blandet ASP og ASP.NET miljø




Dette innlegget ble postet i Bloggidol 2008 i kategorien Data, internett og teknologi. Jeg hadde nok den høyeste nerdefaktoren i kategorien. Jeg flesket til med en supersær sak vi slet med på jobben. Milevis fra hva dere normalt finner her på bloggen. Fra kommentarfeltet så jeg at jeg fikk to stemmer. En fra juryen, som hadde håpet på flere innlegg av denne typen, og en fra en ung dame ved navn Helene som var nysgjerrig på hva jeg egentlig skrev om. Stor takk til begge. Dessverre holdt det ikke til finaleplass... ;-)


Sesjoner dør for tidlig i blandet ASP og ASP.NET miljø


Vårt system kjører både asp og asp.net og skaper en DotNet sesjon ved innlogging. Kundene som kjører ASP.NET funksjoner har problemer med sesjonstiden for DotNet. Timeout er 180 minutter. Etter 30 minutter får de beskjed om at sesjonstiden er slutt når de forsøker å bruke en ASP.NET funksjon.

Dette gir oss grå hår. Vi har satt timeout for DotNet-sidene på ulike måter og lett med lys og lykter etter noe som kan endre timeout-tiden. Uten resultat. Noen timers googling ledet oss inn på IISen. Den har diverse innstillinger, blant annet for recycle av application-pool. Eureka tenkte vi. Men den gang ei, 1740 minutter, eller 29 timer. Nei, det var ikke det heller.

Inn i tenkeboksen. Hvilke innstillinger finnes? Performance-fliken. IIS-prosessen drepes etter 20 minutter om ingen bruker den. Hm… vi har en ny funksjon i DotNet. Brukerne starter sesjon ved innlogging. Funksjonen brukes en gang per aktivitet. En aktivitet tar normalt over en time. Om alle logger seg inn om morgenen, så bruker ingen DotNet-IISen før de skal bruke den nye funksjonen… Jo, det kan stemme. Setter idle-timeout til ett minutt. KAPOFF! Sesjonstiden er slutt. YES! Vi har løst det!

Ingen kommentarer: