2012-11-07 2 views
6

Ich verwende KEINE MVC, URL-Umschreibung, benutzerdefinierte HTTP-Module usw. Bei einem einfachen Aufruf der Session-Eigenschaft von einer Web-Seite, die System.Web.UI erbt .Page oder via System.Web.HttpContext.Current.Session erhalte ich die folgende Fehlermeldung:Sitzungsstatus kann nur verwendet werden, wenn enableSessionState auf true festgelegt ist

Sitzungsstatus kann nur verwendet werden, wenn enableSessionState in einer Konfigurationsdatei oder in der Page-Direktive auf true gesetzt ist. Stellen Sie außerdem sicher, dass System.Web.SessionStateModule oder ein benutzerdefiniertes Sitzungsstatusmodul im Abschnitt <configuration>\<system.web>\<httpModules> in der Anwendungskonfiguration enthalten ist.

Nach einigen Nachforschungen habe ich Web.config wie folgt implementiert, aber der Fehler tritt immer noch auf. Ich debugge die Webanwendung aus Visual Studio 2010 mithilfe des integrierten Webservers.

<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
     <sessionState mode="InProc" timeout="60" cookieless="false" /> 
     <pages enableSessionState="true" /> 
     <httpModules> 
      <remove name="Session" /> 
      <add name="Session" type="System.Web.SessionState.SessionStateModule" /> 
     </httpModules> 
    </system.web> 
</configuration> 
+0

web.config Beispiel verwenden, habe ich eine neue .NET 4.0 Web-Anwendung in Visual Studio 2010 und war in der Lage zu aktualisieren eine Sitzungsvariable Ich frage mich, ob in Ihrer App noch etwas passiert, das das Problem verursacht. Können Sie eine abgespeckte Version Ihrer App posten, in der das Problem noch immer auftritt? – csm8118

+0

@ csm8118 Ich war auch in der Lage, eine Sitzungsvariable früher in der Anfrage zu aktualisieren. Wenn ich jedoch später in der Anforderung auf diese Sitzungsvariable zugreifen möchte, trat dieses Problem auf. – user786423

+0

an welchem ​​Punkt in der Anfrage erhalten Sie den Fehler? Können Sie den Code posten, der den Fehler verursacht? – csm8118

Antwort

0

Dieses Problem wird in meinen bekannten Szenarien reproduziert wird ....

Wenn ein Frame-Set oder eine zwei parallelen Anforderungen von Browsern entstehen, wenn diese beiden Seiten gleiche custombase Seite haben, Zugriff auf Sitzung in dieser Folge Ausnahme wegen mehrerer Worker-Threads ...

UPDATE: An alle Leidenden dieses Problems habe ich meine Erkenntnisse hier! 1. Ich könnte dieses Problem in IE-Browser (IE10) und FIREFOX (22) reproduzieren, obwohl ich großartige Einstellungen aller aktivierten..etc.etc ... in meinem lokalen Code, wenn IE-Einstellungen in der Registerkarte Verbindung -> LAN Einstellungen haben "Use PROXY Server für Localhost ..." Checkbox angezeigt als überprüft - ohne eine gültige Proxy-Server-Einstellung ...

Wenn ich dies deaktivieren im IE, der gleiche Code mit DEFAULT Session-Einstellungen, läuft wie PFERDE !!

Hoffnung, die etwas Licht geben,

Dank

3

Ihr Problem gerade nach vorne ist. Wenn Sie Ihren Code von einem Ort verschieben, der nach dem globalen Ereignis Session_Start ausgeführt wird, sehen Sie, dass dieses Problem ziemlich komfortabel verläuft. Als Beispiel schreibe deinen Code im Page_Init-Event oder überschreibe OnInit und mache dort was du mit deiner Session machen willst.

Hoffe, das wird für Sie arbeiten.

1

Ich habe viel Zeit damit verbracht, dieses Problem zu debuggen. Unsere Website funktioniert bis gestern und plötzlich funktioniert nicht mehr mit Fehler.

Sitzungsstatus kann nur verwendet werden, wenn enableSessionState in einer Konfigurationsdatei oder in der Page-Direktive auf true gesetzt ist. Stellen Sie außerdem sicher, dass System.Web.SessionStateModule oder ein benutzerdefiniertes Sitzungsstatusmodul im Abschnitt \\ in der Anwendungskonfiguration enthalten ist.

Wenn aktiviert, fehlt ASP.net State Service aus der Serviceliste.

Neuinstallation wie unten half, das Problem zu lösen.

C: \ Windows \ Microsoft.Net \ Framework64 \ v4.0.30319 \ aspnet_regiis -i

+0

der Link ist fiktiv –

+0

Danke. Es hat mir geholfen. In jedem Fall auf einem neuen System nach Visual Studios und anderen Apps und Abhängigkeiten Installation habe ich Ausnahme mit Sitzungsstatus. Ja, es könnte leicht gelöst werden, indem das Session-Modul entfernt und erneut hinzugefügt wird, aber es ist nicht der Ausweg. Sitzungsmodul sollte nicht unbedingt in Modulen enthalten sein – Regfor

Verwandte Themen