Sessionvariable geht verloren

27/08/2008 - 08:35 von Ralf Kaiser | Report spam
Hallo,

wir haben bei einer Webanwendung einen ziemlich seltsamen Effekt:

An einer Stelle in der Anwendung wird ein bestimmter Integer-Wert in der
Session gespeichert:

Session("Userid") = neuerWert (hat nichts mit der MemberShip-UserID zu
tun!!)

Nach einigen Postbacks einer anderen Seite ist diese Variable plötzlich
verschwunden. Das heisst, dass die Sessionvariable plötzlich nicht mehr
existiert (Session("Userid") ist dann "nothing"). Andere Sessionvariablen
existieren weiterhin und haben auch die korrekten Werte. Natürlich gibt es
beim Zugriff auf die verschwundene Variable eine Zugriffsverletztung und die
Anwendung funktioniert an dieser Stelle nicht mehr.

Um das ganze noch ein wenig ràtselhafter zu machen:

Die Anwendung làuft zur Zeit an 3 Stellen: auf dem Entwicklungsrechner mit
lokalem IIS7, auf einer "Beta"-Subdomain in einer gehosteten Umgebung (hier
werden neue Features ausprobiert) mit IIS6 und auf dem Live-System auf einem
eigenen Server mit IIS7.

Das Problem mit der verschwindenden Variable besteht _NUR_ auf dem
Beta-System. Auf den beiden anderen Systemen làuft die Anwendung ohne
Probleme. Ich, glaube ich, kann ausschliessen, dass auf dem Beta-System die
Session aus irgendeinem Grunde zwischenzeitlich ablàuft. In diesem Fall
wàren ja auch alle anderen Variablen weg und der aktuelle Benutzer nicht
mehr eingeloggt.

Kann sich jemand vorstellen, woran das liegen kann?? Könnte es etwas mit
einem falsch konfigurierten Applikationspool zu tun haben? (aber warum ist
dann immer die selbe Variable betroffen??)

Danke schon mal,
Ralf
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
27/08/2008 - 08:57 | Warnen spam
Hallo Ralf,

"Ralf Kaiser" schrieb:

Nach einigen Postbacks einer anderen Seite ist diese Variable plötzlich verschwunden. Das heisst, dass die Sessionvariable
plötzlich nicht mehr existiert (Session("Userid") ist dann "nothing"). Andere Sessionvariablen existieren weiterhin und haben auch
die korrekten Werte.



dann würde ich mit 99,99%iger Sicherheit behaupten, dass ihr, bzw. der von
euch verwendet Code die Variable wieder zurücksetzt.

Die Anwendung làuft zur Zeit an 3 Stellen: auf dem Entwicklungsrechner mit lokalem IIS7, auf einer "Beta"-Subdomain in einer
gehosteten Umgebung (hier werden neue Features ausprobiert) mit IIS6 und auf dem Live-System auf einem eigenen Server mit IIS7.



Ist der Versionsstand auf den drei System _absolut_ identisch? Macht doch
mal einen Vergleich der beiden Stànde und schaut, ob es irgendwo Unterschiede
gibt. Evtl. wird irgendwo ein Redirect durchgeführt und es fehlen Parameter,
die der Zuordnung der UserId dienen, ...

Kann sich jemand vorstellen, woran das liegen kann?? Könnte es etwas mit einem falsch konfigurierten Applikationspool zu tun
haben?



Nö, dann wàre die ganze Session weg (es sei denn, die anderen Werte werden
in der global.asax bzw. sonstwo beim Session-Start automatisch gesetzt)

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen