Aufhebung von HTTP-Sitzungen
HTTP-Sitzungen werden aufgehoben, indem die Methode "invalidate" im Sitzungsobjekt aufgerufen wird oder indem mit der Eigenschaft "MaxInactiveInterval" ein bestimmtes Zeitintervall angegeben wird.
Sitzungen, die explizit über Anwendungscode aufgehoben werden, werden sofort aufgehoben. Sitzungen, die nicht über Anwendungscode aufgehoben werden, werden vom Sitzungsmanager aufgehoben. Die Sitzungsaufhebung erfolgt unabhängig von der Konfiguration der Sitzungspersistenz.
Eine Sitzung ist ein Kandidat für Aufhebung, wenn innerhalb des mit der Eigenschaft "MaxInactiveInterval" angegebenen Zeitraums nicht auf sie zugegriffen wird. Der Sitzungsmanager hat einen Prozess-Thread für die Aufhebung von Sitzungen, der alle X Sekunden aufgerufen wird, um Sitzungen aufzuheben, die für eine Aufhebung in Frage kommen.
Der Sitzungsmanager verwendet eine Formel, um den Wert von X zu bestimmen, angegeben mit der Eigenschaft "ReaperInterval". Der Wert von X wird auf der Basis des Werts der Eigenschaft "MaxInactiveInterval" berechnet, der im Sitzungsmanager angegeben ist.
Bei einem maximalen Inaktivitätszeitraum von 15 Minuten ist der Wert von ReaperInterval ungefähr 60 bis 90 Sekunden. Bei einem maximalen Inaktivitätszeitraum von mehr als 15 Minuten ist der Wert von ReaperInterval ungefähr 300 bis 360 Sekunden.
Eine Sitzung wird aufgehoben, wenn der MaxInactiveInterval-Wert überschritten und der mit ReaperInterval angegebene Zeitraum abgelaufen ist. Wenn eine Sitzung für Aufhebung in Frage kommt, muss der Aufhebungs-Thread ausgeführt werden, damit die Sitzung aufgehoben wird. Deshalb ist es möglich, dass eine Sitzung nicht eher aufgehoben wird, bis der MaxInactiveInterval-Zeitraum und ReaperInterval-Zeitraum in Summe abgelaufen sind, wobei die Zeitmessung in Sekunden erfolgt.
Eine Sitzung, die den MaxInactiveInterval-Zeitraum überschritten hat, aber vom Aufhebungs-Thread noch nicht entfernt wurde, steht weiterhin zur Verwendung zur Verfügung. Wenn diese Sitzung angefordert wird, wird sie an den Client zurückgegeben.
Sie können angeben, ob die Sitzung sofort oder nach Ablauf eines bestimmten Zeitintervalls aufgehoben wird. Für eine sofortige Aufhebung muss die Anwendung die Methode "invalidate" aufrufen. Wenn die Sitzung zu einer bestimmten Zeit aufgehoben werden soll, können Sie die angepasste Eigenschaft "ReaperInterval" des Web-Containers in Sekunden definieren, um das Intervall festzulegen, in dem der Aufhebungs-Thread ausgeführt werden soll.