Sessionhandling in ASP.NET

18/02/2010 - 16:49 von Andre Grumbach | Report spam
Hallo zusammen,
ich bin mir nicht ganz sicher ob ich den Richtig Betreff gewàhlt habe,
jedoch hab ich die letzten Tage ein paar Feststellungen zum Thema Session
und Session Timeout gemacht (jedoch nur in VS.NET) und würde nun gern
wissen, wie sich die Session allgemein verhàlt.

1. Wann tritt der Session Timeout auf (Nur wenn eine bestimmte Zeit [kann
man in der Web.Config ja definieren] kein Zugriff mehr auf eine Session
stattgefunden hat)?
Timeout von 5 Minuten habe. In dieser Zeit rufe ich um 14:50 2x eine Seite
von verschiedenen Clients auf. Des Weiten um 14:54 von einem Weiteren
Client.
Des Session Timeout ist nun nach 5 Minuten nach dem ersten Aufruf für alle 3
Sitzen aufgetreten (d.h. die letzte Sitzung lief nur eine Minute!)

2. Tritt der Session Timeout für jede Session auf, oder nur einmal für alle
Sessions?

Allgemein ist meine Idee, das ich eine Session 15 Minuten, nachdem sie nicht
mehr verwendet wird, aufgelöst wird. Jedoch alle anderen Sitzungen, bei
denen der letzte Zugriff weniger als 15 Minuten zurückliegt, sollten
erhalten bleiben.

Hab ich irgendwas bei der Session falsch verstanden?
Gibt es irgendwelche Möglichkeiten diese Szenario hin zu bekommen?

Danke,
Andre
 

Lesen sie die antworten

#1 Thomas Bandt
18/02/2010 - 18:33 | Warnen spam
Am 18.02.10 16:49, schrieb Andre Grumbach:
Hab ich irgendwas bei der Session falsch verstanden?
Gibt es irgendwelche Möglichkeiten diese Szenario hin zu bekommen?



Nein, so wie du es beschreibst, ist es schon korrekt.

Eine Session ist immer Client-bezogen. Client meint hier
eine Browser-Instanz. Öffne ich eine Website jeweils mit
Firefox und Safari, erzeuge ich zwei Sessions.

Der Standardwert (definiert vom Application-Pool) liegt
bei 20 Minuten. D.h. nutze ich die Anwendung 20 Minuten
lang nicht (kein Klick, kein Reload), làuft die Session
ab, das Session_End-Ereignis in der Global.asax wird
gefeuert.

Bist du sicher, dass das, was du unter 1. beschreibst,
keine anderen Ursachen haben kann? Hast du in den 5 Minuten
irgendwas gespeichert, Dateien/Ordner erstellt, Umbenannt
usw. (innerhalb des Webs).

Ich würde in dem Fall außerdem immer raten den IIS auch
zum Entwickeln und Testen zu nehmen. Der VS-Webserver ist
nunmal nicht der IIS, und es ist es nicht wert nach Effekten
oder Problemen zu suchen, die am IIS gar nicht auftreten.

Gruß, Thomas [MVP ASP/ASP.NET]
http://www.69grad.de

Ähnliche fragen