.NET-Sitzung funktioniert nicht
Das ist komisch, aber hoffentlich kann mir hier jemand eine Idee geben. Ich gebe ein paar Werte in die Sitzung einSession_Start
desGlobal.asax
in meiner App. Unmittelbar nach demSession_Start
Meine Basisseite istOnInit
wird gerufen und versucht einen davon zu benutzenSession
Variablen.
Der seltsame Teil ist, dass es manchmal funktioniert, und nach KEINEN Änderungen wird mir dieser Fehler angezeigt:
"Sitzungsstatus kann nur verwendet werden, wennenableSessionState
ist eingestellt auftrue
, entweder in einer Konfigurationsdatei oder in derPage
Richtlinie. Bitte stellen Sie auch sicher, dassSystem.Web.SessionStateModule
oder ein benutzerdefiniertes Sitzungsstatusmodul ist in der<configuration>\<system.web>\<httpModules>
Abschnitt in der Anwendungskonfiguration. "
Ich habe nach allen möglichen Möglichkeiten gesucht und gesucht, um die Sitzung im Internet zu aktivierenweb.config
. So sieht es jetzt aus:
<code><system.web> ... <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/> <globalization requestEncoding="utf-8" responseEncoding="utf-8"/> <httpHandlers> <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/> <remove verb="*" path="*.asmx"/> <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpHandlers> <xhtmlConformance mode="Legacy"/> <pages> <!-- enableSessionState="true" autoEventWireup="true" enableViewState="true" enableViewStateMac="true" --> <controls> <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </controls> </pages> <httpModules> <!--<add name="Session" type="System.Web.SessionState.SessionStateModule"/>--> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> </httpModules> </system.web> </code>
Sie können sehen, ich habe einige Sachen auskommentiert, insbesondere dieenableSessionState="true"
und<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
weil sie noch nie dort waren und es immer funktioniert hat. Aber ich habe es mit beiden aktiviert versucht, die eine oder andere aktiviert, es macht einfach keinen Unterschied.
Dies ist eine App, die seit Jahren in Produktion ist. Ich nehme nur geringfügige Änderungen vor. Die größte davon ist wahrscheinlich das Hinzufügen einer "Titelleisten" -Seite und das Upgrade von 2.0 auf 3.5. Ich habe nicht versucht, das hinzuzufügenenableSessionState
zu den Seitenanweisungen weil es in der nicht funktioniert hatweb.config
Ich verstehe nicht, warum es direkt auf der Seite funktionieren würde, und ich würde es hassen, die App nicht mehr zu verschmutzen oder mehr Zeit damit zu verschwenden, vergeblich zu versuchen, die Sitzung zu aktivieren.
Hat jemand noch andere Ideen?
Danke, Jeff