Frage

Ich habe eine Web-Seite, wo der Benutzer eine Firma wählen und mit, dass ich den Firmennamen obwohl eine Session in Erinnerung behalten, aber wenn ich auf die nächste Seite gehe nur die Session wie 5 Minuten dauern? Gibt es Gründe, warum und wie ich dieses Problem beheben kann, ich habe den Sitzungsstatus in der Web.config zu verlängern, aber das hat nicht funktioniert.

Beispiel: Session ( "Company") = "Bytes Technology"

In meinem web.config habe ich: timeout = "40" />

ich von Default.aspx bewegen mit meiner Session CompanyDetail.aspx ( "Company")

Aber wenn ich das Programm im Leerlauf in CompanyDetail.aspx lassen verliere ich den Sitzungsstatus.

Irgendwelche Ideen?

Viele Grüße Etienne

War es hilfreich?

Lösung 8

Danke allen für die Informationen. Das Hosting-Unternehmen, um meine Seite verlängert nur die Zeit des Anwendungspools und das hat funktioniert!

Danke Etienne http://www.erate.co.za

Andere Tipps

von Ihrem Kommentar, den ich sehe, dass Sie denken, Ihre Website-Serverfarm in einer Load-Balancing.

In diesem Fall müssen Sie Ihre Sitzung in db speichern oder zu vermeiden, es zu benutzen: Sie können nicht sicher sein, dass die gleichen Server demselben Benutzer jedes Mal dienen wird er ein Postback der Fall ist, und wenn der Benutzer geht vom Server „A“ Server "B" in zwei verschiedenen Beiträgen ... Ihre Session-Variablen gehen verloren.

versuchen, eine Google-Suche nach „session Datenbank“, Sie Tonnen von Material zu diesem Thema finden.

hoffe, das hilft

andrea

einige Fragen:

  • die Timeout-Zeit ist immer das gleiche? 5 Minuten?
  • wird Ihre Website in einer Load-Balancing-Server-Farm ausgeführt wird? mit mehr als einem Front-End-Server?
  • , was sagen Sie in Ihrem web.confing über Sitzungen und session?

Ich würde wetten, Ihre keinen Lastenausgleich Farm verwenden, und verwendet tatsächlich Shared Hosting.

In einer Last ausgeglichen Farm, um Ihren Code zu mehreren Servern bereitgestellt wird, und wenn Sie klebrige Sitzungen deaktiviert, wird der Benutzer den Server mit der geringsten Last auf jede Anfrage nutzen.

Da Sie 3rd-Party-Hosting verwenden, bezweifle ich stark Sie das tun.

Session-Timeout kann vom Host-Provider hardset in IIS, und die wahrscheinlichste Ursache ist, dass sie dies auf 5 Minuten eingestellt haben.

Rufen Sie Ihren Host-Provider, fragen sie, was ihre IIS Sitzungseinstellungen sind, und gehen von dort aus.

In IIS, gehen Sie in den Eigenschaften Ihrer Website, klicken Sie auf die Registerkarte Basisverzeichnis und klicken Sie dann auf die Schaltfläche Konfiguration. Hier klicken Sie auf die Registerkarte Optionen und überprüfen dort die Session-Timeout. Ich bin mir ziemlich sicher, dass dies nur Auswirkungen klassisches ASP, aber ich bin nicht 100% sicher.

Wenn dies immer 5 Minuten geschieht dann web.config für Sitzungseinstellungen überprüfen und prüfen Sie IIS. Webseite / Eigenschaften / ASP.NET, klicken Sie auf Konfiguration bearbeiten, wählen Sie die Registerkarte Statusverwaltung und Sitzungseinstellungen überprüfen

könnte es einige Antivirus auf dem Server sein, dass die Web-App verursacht sich alle 5 Minuten zurückgesetzt, mit dem ASP.NET-Laufzeit entweder die Binärdateien oder die web.config Denken verändert? das ist auch möglich.

Eine weitere Idee ist es, die Computernamen in einen Kommentar auf einer Seite zu setzen und sehen, ob die von Seite zu Seite zu ändern, nur um zu bestätigen, dass es ein Wechsel des Servers ist die Anforderung bearbeitet wird.

Ich beschloss, mit Session-Variablen verschrotten und ging mit Query-Strings !! Viel besser !!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top