.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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage