random IIS session timeout
Ich habe ein sehr seltsames problem und ich bin auf der Suche nach einer Beratung. Ich habe einen ASP.NET website laufen aus der IIS 6, die funktioniert gut für die meisten Teil. Jedoch, die Sitzungen scheinen zufällig gelöscht? Also wenn ich mich anmelden...klicken, um ich bin gebootet nach dem Zufallsprinzip aus. Manchmal ist es nach 30 Sekunden/4 Klicks. Manchmal ist es die erste klicken Sie, manchmal Sie wird nicht einmal lassen Sie mich Anmelde...und manchmal ist es gut zu arbeiten?? (der Grund, warum ich weiß, dass es gelöscht wird, weil ich drucken Sie die Sitzung, wenn ich abgemeldet bin, und Sie sind leer)
Habe ich ein Blick auf die IIS-Protokolle, aber Sie sagt es mir nicht viel. Ich vermute, es könnte ein timezone-problem?,..Ich Frage mich, ob jemand Kenntnis, ob dies eine Möglichkeit?
Andere als das, irgendwelche Tipps, wie ich herausfinden kann, mehr über das, was passiert in den Sitzungen?
Bei weitem das seltsamste Teil über meine problem ist, es ist Zufälligkeit. Das wird wahrscheinlich dienen als guter Anhaltspunkt für die Ursache für ein IIS/ASP.NET-Experte. (zumindest hoffe ich das!)
Weiteren Hinweis: die Website funktioniert perfekt, wenn ich es lokal, und ich habe nur das problem das wenn ich es aus meiner virtuellen godaddy-server. (was ist mit IIS 6)
eine andere Sache, die ich bemerkt
auf dem lokalen host meine cookies sehen so aus: (von firebug)
Cookie ASP.NET_SessionId=vgt4ly45frvsm1qsfjsmdcbc; username=; demo=true
auf dem server gehostet, es ist gerade dieses:
Cookie ASP.NET_SessionId=vgt4ly45frvsm1qsfjsmdcbc;
"Benutzername" ist der name meiner session...vielleicht habe ich cookies deaktiviert, auf den shared-hosting-und dadurch verursacht wird, dass die Sitzung nicht zu arbeiten?
Vielen Dank für Ihre Zeit,
Andrew
ja ich weiß,..die asp.net session-Objekt
ich jetzt endlich verstehe, was deine Frage bedeutet.....Ich war mit einfachen Sitzungen, denke ich....Ich bin auf der Suche in ASP.NET Sitzungen jetzt....Sie sind neu für mich, damit ich Lerne, wie Sie funktionieren
InformationsquelleAutor Andrew | 2009-12-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre asp.net Anwendung kann recycelt werden. Recycling kann passieren, wenn ein Speicher-oder cpu-Schwellenwert erreicht ist, oder nach einer Weile (15 min Inaktivität verwendet werden, der standardmäßig auf IIS6).
Wenn die Anwendung recycelt wird, ist alles im Speicher ist verloren. Es könnte sein, warum verlierst du die session-Daten.
Stellen Sie sicher, dass das recycling ist der Schuldige, Sie kann Blick auf die performance-counter auf Ihrem server, oder melden Sie sich einfach etwas in der Application_Start-global.asax-handler.
Für eine Liste von asp.net Leistungsindikatoren auf IIS6, überprüfen https://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0a6c9f07-a70c-4c3d-b93d-5dfef593c744.mspx?mfr=true
Den Zähler für die "Anwendung wird neu gestartet" und "Worker-Prozess neu gestartet wird" sind die, die Sie betrachten sollten.
Die aspx-Seiten kompiliert werden, wenn Sie aufgerufen, aber es ist automatisch erfolgt (es ist nur ein wenig warm, wenn die Seiten kompilieren).
Ich bearbeitet habe, die Antwort mit mehr Informationen über die perf Counter.
InformationsquelleAutor Yann Schwartz
Haben Sie mehr als einen web-server in einer Lastausgleich-cluster? Ich habe dieses problem, wenn die Verschlüsselungs-key ist der Unterschied zwischen den 2 Servern im cluster. Wenn die load-balancing-switches auf einen anderen server .Net nicht entschlüsseln können Sie die cookie, damit es denkt, dass es schlecht ist und schickt Sie zurück auf die login-Seite.
Hier die MSDN-Artikel dazu.
trotzdem danke...das könnte mir auf der rechten Spur
InformationsquelleAutor David
Beantwortung meiner eigenen Frage:
dieser link war sehr hilfreich:
http://msdn.microsoft.com/en-us/library/ms972429.aspx
nämlich dieser Teil:
Server-farm Einschränkungen. Wie bewegen sich die Nutzer von server zu server in einer Web server farm, Ihre Sitzung Staates nicht zu befolgen. ASP-session-state-Maschine ist spezifisch. Jede ASP-server verfügt über einen eigenen session-Zustand, und es sei denn, der Benutzer gibt auf dem gleichen server, der Sitzungsstatus nicht verfügbar ist. Während Netzwerk-IP-Ebene routing-Lösungen können Sie lösen diese Probleme, indem sichergestellt wird, dass die client-IPs weitergeleitet werden an die Ursprungs-server, einige ISPs verwenden, wählen Sie einen proxy-load-balancing-Lösung für Ihre Kunden. Berüchtigsten davon ist AOL. Lösungen wie AOL verhindern, dass Netzwerk-level-routing von Anfragen an Server, da die IP-Adressen für den requestor kann nicht garantiert werden, eindeutig sein.
Wechselte ich meine login - /logout session rein cookie-basiert (alles was ich brauche für meine Lösung)...für eine sichere Umsetzung denke ich ASP.NET gebaut hat im Profil ...as...ASP.NET Sitzungen werden in Ihrem datebase...ich habe keine Lust zu forschen /implimenting an der Zeit.
Andrew
InformationsquelleAutor Andrew