Sesión .NET no funciona

Esta es una extraña, pero espero que alguien pueda darme una idea aquí. Estoy poniendo algunos valores en sesión en elSession_Start delGlobal.asax en mi aplicación Inmediatamente después de laSession_Start mi pagina baseOnInit es llamado y trata de usar uno de esosSession variables

La parte rara es que a veces funciona, y luego, después de que NO se realicen cambios, aparecerá este error:

"El estado de sesión solo se puede utilizar cuandoenableSessionState se establece entrue, ya sea en un archivo de configuración o en elPage directiva. Por favor, también asegúrese de queSystem.Web.SessionStateModule o un módulo de estado de sesión personalizado se incluye en el<configuration>\<system.web>\<httpModules> sección en la configuración de la aplicación ".

He mirado y mirado encontrando diferentes maneras de habilitar la sesión en elweb.config. Aquí está lo que parece ahora:

<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>

Puedes ver que he comentado algunas cosas, específicamente elenableSessionState="true" y<add name="Session" type="System.Web.SessionState.SessionStateModule"/> Porque nunca estuvieron allí antes y siempre solía trabajar. Pero lo he intentado con ambos habilitados, uno u otro habilitados, simplemente no hace una diferencia.

Esta es una aplicación que ha estado en producción durante años, solo estoy haciendo cambios menores, probablemente el más grande de los cuales es agregarle una página de "barra de título" y actualizar de 2.0 a 3.5. No he intentado agregar elenableSessionState a las directivas de página porque no funcionó en elweb.config No veo por qué funcionaría directamente en la página, y odiaría ensuciar más la aplicación o perder más tiempo intentando en vano habilitar la sesión.

¿Alguien tiene alguna otra idea?

Gracias jeff

Respuestas a la pregunta(2)

Su respuesta a la pregunta