Question

C’est étrange, mais j'espère que quelqu'un pourra me donner une idée ici. Je mets quelques valeurs en session dans le Session_Start du Global.asax de mon application. Immédiatement après l'appel de la OnInit Session page de base> et de l'utilisation d'une de ces enableSessionState variables.

La partie étrange est parfois que cela fonctionne, puis après AUCUN changement ne commencera à me donner cette erreur:

  

& "; l'état de session ne peut être utilisé que lorsque   true est défini sur Page,   soit dans un fichier de configuration ou dans   la directive System.Web.SessionStateModule. S'il vous plaît aussi faire   bien sûr que   <configuration>\<system.web>\<httpModules> ou un   module d'état de session personnalisé est   inclus dans le   web.config   section dans l'application   configuration. "

J'ai cherché et cherché différentes manières d'activer la session dans le enableSessionState="true". Voici à quoi cela ressemble maintenant:

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

Vous pouvez voir que certains éléments ont été commentés, en particulier les <add name="Session" type="System.Web.SessionState.SessionStateModule"/> et <=> parce qu’ils n’étaient jamais présents auparavant et que cela fonctionnait toujours. Mais je l'ai essayé avec les deux activés, l'un ou l'autre activé, cela ne fait tout simplement pas une différence.

Ceci est une application qui est en production depuis des années, je ne fais que des modifications mineures, dont la plus importante consiste probablement à ajouter un & "titlebar &"; page, et passer de la version 2.0 à la version 3.5. Je n'ai pas essayé d'ajouter les directives <=> à la page, car cela ne fonctionnait pas dans la <=>. Je ne vois pas pourquoi cela fonctionnerait directement sur la page et je ne voudrais plus salir l'application. ou perdre plus de temps à essayer en vain d’activer la session.

Quelqu'un a-t-il d'autres idées?

Merci, Jeff

Était-ce utile?

La solution

BREAKPOINTS!

J'avais des points d'arrêt définis dans les méthodes du constructeur de la page de base et de la page principale, ainsi que dans Session_Start et OnInit. Un collègue a supprimé tous les points d'arrêt du débogueur et le problème a disparu!

Ugh!

Autres conseils

Je ressens la même chose avec un point d'arrêt lors d'une instanciation variable et le chargement de pages définissant certaines valeurs de session. Exécution de Windows 7 / VS2010. Lorsque je désactive le point d'arrêt, il est alors capable de charger l'état de la session.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top