Ich gehe davon aus, dass Sie die Sitzung im Modus "inProc" gespeichert haben. In diesem Modus werden die Sitzung, der Cache usw. von ASP.NET-Anwendungen im RAM des Webservers gespeichert (über den Prozess aspnet_wp.exe). Und .NET kann nicht alles nutzen. Es gibt eine Einstellung in machine.config, die den Grenzwert angibt (standardmäßig 60%). Sobald dieser Schwellenwert erreicht ist, wird der Arbeitsprozess von IIS wiederverwendet, und alle Sitzungsinformationen gehen verloren.
Beachten Sie, dass, wenn Ihr Server mehrere asp.net-Anwendungen hostet, die 60% des Speichers von allen Apps gemeinsam genutzt werden sollen. Wenn also die kumulative Speicherbelegung den Schwellenwert erreicht, wird der Worker-Prozess weiterhin recycelt.
Alternativ dazu können Sie die Anwendung so optimieren, dass die Sitzung sparsam verwendet wird, indem Sie die Anwendung so einrichten, dass die Sitzung im Modus "out of process" verwendet wird (mit einem Statusserver oder sqlserver zum Speichern von Sitzungsinformationen).
Der Out-of-Process-Modus kann die Systemleistung beeinträchtigen.
Weitere Informationen zum Sitzungsstatus-Management finden Sie im Artikel this.
In-proc oder out of proc? – Liam