Ich verwende den InProc-Modus, um die Sitzung zu speichern (sessionState mode="InProc" cookieless="false" timeout="240"). Ich weiß, dass die Sitzung manchmal im InProc-Modus verloren geht, aber was passiert, wenn die Sitzung beim Zugriff auf eine Webseite verloren geht?
Danke!
Antworten
Zu viele Anzeigen?
Russ Cam
Punkte
120837
Wenn ein Ereignis eintritt, das die Wiederverwendung des Anwendungspools erforderlich macht, dann InProc
Sitzung verloren gehen. Wenn die Anwendung eine Anfrage bearbeitet, dann glaube ich nicht, dass die mit der Anfrage verbundene Sitzung verloren geht, zumindest nicht, bis die Antwort geliefert wird.
In der Global asax können Sie ein InProc-Session-End-Ereignis behandeln:
void Session_End(Object sender, EventArgs E)
{
// do something
}
Es gibt einige Gründe, warum eine InProc-Sitzung sterben wird:
- Ihr IIS-Anwendungspool ist tot, zurückgesetzt, etc.
- ASP.NET-Worker-Prozess (Aspnet_wp.exe) wird unerwartet recycelt unerwartet recycelt und überschreibt Ihre bin oder web.config