In unserer ASP.NET-Website enthält eine Seite einige Tabs. Jede Registerkarte stellt unterschiedliche Inhalte dar. Wenn Sie von einer Registerkarte zur anderen wechseln, wird die gesamte Seite neu geladen. Wenn ich mich gerade auf einer der Registerkarten befinde und dort für ungefähr eine Minute oder länger inaktiv bleibe und dann zu einer anderen Registerkarte gehe, wird nur ein weißer leerer Bildschirm angezeigt. (ohne Seitenquellcode Info dafür im Browser).
Leider ist das gleiche Problem für dieselbe Website in einer niedrigeren Testumgebung überhaupt nicht reproduzierbar. Problem tritt nur in der Produktionsversion der Website auf.
Gibt es eine IIS-Einstellung oder eine web.config-Einstellung, die ich ändern sollte, um dieses Problem zu beheben? Ich glaube, der Quellcode der betreffenden Webseite wäre kein Grund.
Dies liegt wahrscheinlich daran, dass das Sitzungszeitlimit den Grenzwert erreicht hat, der die Sitzung beendet.
Sie haben in diesem Fall drei mögliche Lösungen:
Zuerst
Sie können versuchen, die Datei web.config
im Stammverzeichnis Ihrer Anwendung zu bearbeiten, um das Sitzungstimeout zu verlängern. Versuchen Sie etwas wie folgt:
Nach MSDN können Sie timeout
auf% setzen co_de% Minuten (1 Jahr).
Zweite
Wenn es nicht funktioniert und Sie Zugriff haben, können Sie versuchen, das Timeout für IIS zu bearbeiten:
Öffnen Sie den IIS, klicken Sie auf die Anwendungspools, wählen Sie die Anwendung Pool für Ihre Anwendung.
Klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften.
Legen Sie auf der Registerkarte Leistung das Leerlauf-Zeitlimit als Ihre gewünschten Minuten fest für "Shutdown Worker-Prozesse nach dem Leerlauf für ..... Minuten".
WICHTIG: Abgesehen davon müssen Sie das Zeitlimit in web.config wie oben beschrieben setzen.
Third
Sie können eine 525,601
-Funktion erstellen, die im Hintergrund ausgeführt wird und verhindert, dass die Sitzung abläuft:
Das ist es. Hoffe es hilft.
Verwenden Sie ein beliebiges http-Modul? Können wir uns die Seite souce aspx und den Code hinterher anschauen? Es passierte mir, als ich Elmah benutzte, aber in einem ganz anderen Szenario.
Andere können aufgrund der Session-Sache sein, auf die andere hingewiesen haben. Ich hoffe, das hilft.
Ich würde die Chome Dev Tools oder Firebug öffnen, wenn in Firefox. Wenn ich im Firebug bin, würde ich mir die Registerkarten "Netz" und "Konsole" ansehen und sehen, was aus der Netzwerkperspektive wirklich passiert. Es sollte einfach sein, den Traffic in Dev zu betrachten und mit der Produktion zu vergleichen. Ich schätze, sie sind nicht gleich, und es würde dir sofort in die richtige Richtung zeigen.
Fiddler ist auch eine Option, wenn Sie den Verkehr beobachten möchten, als wären Sie ein Mittelmann.
Tags und Links asp.net