ASP.NET MVC - Sitzung ist null

8

Ich habe eine MVC3-Anwendung auf .net4, deren Sitzung in der Entwicklungsumgebung arbeitet, aber nicht in der Produktion.
In der Produktion habe ich die SessionID protokolliert und es ist das selbe in dem Moment, in dem ich Set und Get von der Session bekomme.

Wenn ich versuche, die Sitzung zu bekommen, bekomme ich Null Exception .

So greife ich auf die Sitzung zu:

%Vor%

Was mich beunruhigt, ist, dass sich das Verhalten in der Produktion von der Entwicklung unterscheidet, obwohl die web.config dieselbe ist.

    
Shazam 17.05.2012, 04:36
quelle

2 Antworten

14

Lösung 1:

Link: HttpContext.Current. Die Sitzung ist null, wenn Anfragen weitergeleitet werden

Verstanden. Ganz dumm, eigentlich. Es funktionierte, nachdem ich & amp; hinzugefügt das SessionStateModule wie folgt:

%Vor%

Das einfache Hinzufügen funktioniert nicht, da "Session" bereits in machine.config definiert sein sollte.

Nun, ich frage mich, ob das üblich ist. Es scheint sicherlich nicht so, da es so grob scheint ...

Lösung 2:

Link: HttpContext.Current.Session null-Objekt

sessionKey ändert sich möglicherweise, Sie müssen wahrscheinlich nur Folgendes tun:

%Vor%

Oder die Sitzung läuft möglicherweise ab, überprüfen Sie die Zeitüberschreitung:

Ссылка

Oder Sie setzen den Sitzungswert von woanders aus, normalerweise kontrolliere ich den Zugriff auf das Session / Context-Objekt über eine Eigenschaft

%Vor%     
Nildarar 17.05.2012 04:49
quelle
3

Eine andere mögliche Ursache / Lösung ist, dass der IE keine Cookies speichert, wenn der Domainname eine Unterstreichung hat (da streng genommen Domänennamen keine Unterstriche haben können, so werden Sie wahrscheinlich nur in der Entwicklung darauf stoßen), z. %Code%. Chrome oder Firefox sollte in diesem Szenario funktionieren, und wenn Sie den verwendeten Domain-Namen ändern, wird kein Unterstrich-Problem gelöst.

Hinweis:

Rory 12.02.2014 09:47
quelle

Tags und Links