8 messaggi dal 19 ottobre 2006
Sto costruendo una applicazione con MVC4, e sto cercando di capire bene come funziona il salvataggio della sessione su SQLServer.
Ho creato tutto, tabelle e stored procedure.
I dati si salvano correttamente e nelle tabelle vedo le righe.

Secondo quanto specificato da MSDN "la sessione su DB permette di non perdere le informazioni anche se si riavvia IIS". Questo è vero ma solo se non si "chiude" l'istanza del browser perchè altrimenti parte una nuova sessione e si perde tutto.

La mia esigenza è proprio quella di poter recuperare la sessione anche se si chiude il browser, e sembra non essere possibile a meno di non inserire l'id della sessione nell'URL (cookieless="true"), che non voglio fare, oppure crearsi un gestore di sessione personalizzato.

Mi chiedo se ho capito bene il funzionamento oppure non conosco come sia possibile richiedere di recuperare una sessione esistente.

Grazie a chi vorrà darmi una delucidazione in merito.
Teo
11.868 messaggi dal 09 febbraio 2002
Contributi
Ciao Teo,
spiega bene la tua esigenza, cioè a scopo vuoi usare la Session e quale funzionalità hai bisogno di implementare.

Se si tratta di riconoscere un utente loggato, allora la Session non fa per te. Usa invece ASP.NET Identity che al login causerà l'emissione di un cookie persistente, che sopravvivrà alla chiusura e riapertura del browser.
https://www.aspitalia.com/articoli/asp.net4.5.1/security-asp.net-mvc-identity.aspx

ciao,
Moreno

Enjoy learning and just keep making
8 messaggi dal 19 ottobre 2006
Non si tratta di conoscere l'utente loggato perchè questo me lo fornisce direttamente l'autenticazione integrata (insieme a tanto altro).

Si tratta invece di recuperare informazioni che vengono salvate nella session e che devono essere recuperate anche se il browser si chiude.

Dato che la sessione ha durata 20 minuti (lo so si può estendere ma non ha senso farla durare 6 ore), l'obiettivo è quello di evitare la memorizzazione di variabili o di strutture complesse (serializzabili) all'interndo un DB o di un file temporaneo, perchè in un ambiente di produzione può capitare che il browser venga chiuso e quindi si perdano le informazioni salvate nella session.

Si tratta comunque sempre di poche cose ma possono essere vitali per il flusso applicativo, soprattutto se la "form" d'inserimento dati viene lasciata ferma per diverso tempo e quindi al primo click sull'interfaccia non si trova più nulla in sessione.
Fino ad oggi me la sono cavata con varie soluzioni, e stavo giusto valutando se la sessione su DB potesse sollevarmi dall'onere di creare degli "accrocchi" per sopperire alla perdita dei dati di sessione.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.