Lo stato della sessione può essere utilizzato solo quando enableSessionState è impostata su true

NON sto usando MVC, la riscrittura dell’URL, HTTP personalizzati moduli, etc. Su una chiamata di base per la Sessione di proprietà di una pagina web ereditare Sistema.Web.Interfaccia utente.Pagina o tramite il Sistema.Web.HttpContext.Corrente.Sessione, ottengo il seguente errore:

Lo stato della sessione può essere utilizzato solo quando enableSessionState è impostato su true, in un file di configurazione o nella direttiva della Pagina. Si prega inoltre di assicurarsi che il Sistema di.Web.SessionStateModule o una sessione personalizzata di stato modulo è incluso nel <configuration>\<system.web>\<httpModules> sezione di configurazione dell’applicazione.

Dopo aver fatto qualche ricerca, ho implementato Web.config come segue, ma l’errore si verifica ancora. Io sono il debug dell’applicazione web di Visual Studio 2010 utilizzando il built-in server web.

<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>
Utilizzando il web.config di esempio, ho creato una nuova .NET 4.0 applicazione web in Visual Studio 2010 e stato in grado di aggiornare una variabile di sessione. Mi chiedo se c’è qualcos’altro nella tua applicazione che causa il problema. Potresti postare una versione ridotta dell’applicazione che ha ancora il problema?
Sono stato anche in grado di aggiornare una variabile di sessione precedente la richiesta. Tuttavia, quando si tenta di accedere a tale variabile di Sessione successiva, nella richiesta, che è quando ho incontrato questo problema.
a che punto della richiesta è l’errore? Puoi postare il codice che sta gettando l’errore?
Ecco il flusso: 1) l’Utente accede in via Predefinita.aspx. Se il login ha successo, la Sessione è impostato per l’Utente in codice accanto per impostazione Predefinita.aspx. Questo assegna bene. 2) l’Utente viene reindirizzato a Casa.aspx. Il codice accanto di Casa.aspx eredita una classe personalizzata denominata BasePage, che eredita il Sistema.Web.Interfaccia utente.Pagina. In BasePage, si sta tentando di accedere alla Sessione (ho provato sia tramite Sessione e di Sistema.Web.HttpContext.Corrente.Sessione), e che è quando si verifica l’eccezione.
Sembra quindi che a Casa.aspx è il colpevole. Puoi postare la .pagina aspx per la Casa.aspx? C’è un EnableSessionState="false" nella pagina direttiva di Casa.aspx (<%@ Page ... in alto .aspx)?

OriginaleL’autore user786423 | 2012-11-07

3 Replies
  1. 3

    Il tuo problema è dritto in avanti. Se si sposta il codice da un luogo che viene eseguito dopo Session_Start evento mondiale, poi si vedrà questo problema andare abbastanza comodamente. Come esempio scrivere il codice nel Page_Init evento o ignorare OnInit e fare ciò che si vuole fare con la vostra Sessione.

    Spero che questo funziona per voi.

    OriginaleL’autore

  2. 1

    Ho passato molto tempo a fare il debug di questo problema.
    Il nostro sito sta lavorando bene fino a ieri e all’improvviso ha smesso di funzionare con errore.

    Lo stato della sessione può essere utilizzato solo quando enableSessionState è impostato su true, in un file di configurazione o nella direttiva della Pagina. Si prega inoltre di assicurarsi che il Sistema di.Web.SessionStateModule o una sessione personalizzata di stato modulo è incluso nel \\ sezione di configurazione dell’applicazione.

    Quando è selezionata ASP.net Servizio di Stato è mancante dall’elenco.

    reinstallarlo come di seguito hanno contribuito a risolvere il problema.

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

    il link è fittizia
    Grazie. Mi ha aiutato. In ogni caso sul nuovo sistema dopo il Visual Studios e altre applicazioni e dipendenze installazione ho eccezione con lo stato della sessione. Sì, potrebbe essere facilmente risolto con la rimozione Sessione di modulo e l’aggiunta di nuovo, ma non è la via d’uscita. Sessione modulo non devono necessariamente essere inclusi nei moduli

    OriginaleL’autore jtirumani

  3. 0

    Questo problema è stato riprodotto nel mio scenari noti….

    Se un frame o un due in parallelo richieste emergenti dal browser, se queste pagine hanno lo stesso custombase pagina, accedendo sessione hanno portato a questa eccezione a causa di molteplici thread…

    AGGIORNAMENTO:
    Per tutte le persone che soffrono di questo problema, ho i miei risultati qui! 1. Ho potuto riprodurre il problema nel browser IE(IE10) e FIREFOX(22), anche se non ho grandi impostazioni di tutte le abilitato..etc.ecc… nel mio codice locale, QUANDO le impostazioni di IE nella Scheda Connessione –> impostazioni LAN “Usa Server PROXY per Localhost…” casella di controllo visualizzata come BAGAGLIO – senza una VALIDA impostazione del server PROXY…

    Quando ho deselezionare questa In IE, lo stesso codice di DEFAULT le impostazioni di Sessione, funziona come un CAVALLO!!

    Speranza di dare un po ‘ di luce,

    Grazie

    OriginaleL’autore HydPhani

Lascia un commento