567 messaggi dal 18 marzo 2002
Insisto sul problema dell'improvviso reset della session da parte di asp.net perchè mi sta creando dei problemi con gli utilizzatori della mia web-application.

<<<<< Quello che vorrei riuscire a capire una volta per tutte è se ASP.NET in alcuni casi (forse perchè necessita di risorse) killa la session.>>>>>

Aggiungo per chiarezza due cose:
1) non ho modificato i parametri della session nel web.config, utilizzo quindi i default
2) l'eccezione dovuta al fatto che la session è improvvisamente a nothing (ovviamente non è il mio codice che la resetta) si verifica durante la navigazione, quindi non dovrebbe entrarci niente la scadenza della session per inattività.

In un altro mio post mi è stato risposto che la perdita della session è un problema trattato in più di un articolo in rete, ma io non sono riusito a reperire questi articoli.

Possibile che questo problema ce l'abbia soltanto io ?

Paolo
11.886 messaggi dal 09 febbraio 2002
Contributi

<<<<< Quello che vorrei riuscire a capire una volta per tutte è se ASP.NET in alcuni casi (forse perchè necessita di risorse) killa la session.>>>>>

bah, anche a me capita un sacco di volte, specie quando provo l'applicazione in locale, dopo aver aggiornato il file.asp con qualche modifica.
Durante l'utilizzo normale capita lo stesso, ma più di rado.
Ho risolto usando i cookie: se la pagina non trova più la variabile di sessione, prima di negare l'accesso va a vadere se sul cookie ci sono i dati di accesso e in tal caso rilogga l'utente.

Se per te è un problema memorizzare la password utente su un cookie, puoi risolvere in questo modo: al login dell'utente gli assegni un'altra password generata casualmente. La scrivi in un altro campo sia sul db che sul cookie.
L'applicazione utilizzerà questa nuova password per autenticare l'utente. Ora, devi fare in modo che questa nuova password duri solo una ventina di minuti dalla data dell'ultimo login dell'utente. ciao

Enjoy learning and just keep making
567 messaggi dal 18 marzo 2002
Considera che io nella session ci memorizzo parecchia roba: classi, dataset ecc., se faccio come dici te riesco a recuperare tutto quello che c'è nella session ?
11.886 messaggi dal 09 febbraio 2002
Contributi
aaaahhh
no :(

ma è conveniente memorizzare quelle cose nella session? Cioè... aprire e chiudere una connessione è roba di pochi centesimi di secondo, secondo me può essere fatto in ogni pagina.
Anzichè mettere un dataset nella session, perchè non popoli una tabella su db e ci inserisci tutti i prodotti che l'utente ha attualmente nel carrello (ad esempio)?
Sinceramente non mi sono mai preoccupato delle prestazioni, anche perchè poi capita che il tempo impiegato da una query è di minor rilevanza rispetto a quello che tiene il client in attesa mentre si caricano quei 20-30kb di output + le immagini.
Se ci vogliono 5 secondi per caricare una pagina, direi che è una scheggia... una query normale su mysql impiega solo 0.5 secondi, vale la pena rifarla.

Enjoy learning and just keep making
63 messaggi dal 15 aprile 2002
BrightSoul ha scritto:

bah, anche a me capita un sacco di volte, specie quando provo l'applicazione in locale, dopo aver aggiornato il file.asp con qualche modifica.
Durante l'utilizzo normale capita lo stesso, ma più di rado.


Il problema di questo scadere delle sessioni penso a questo punto sia generale... Dobbiamo parlare quindi di BUG del sistema .net ...?

Xkè, scusate... ma non mi pare tanto normale che accada una cosa del genere...
Ok che poi possiamo ovviare con cookies ecc. ecc. Xò si tratta sempre di "pezze" da appiccicare nel codice che non è proprio bella come cosa...

Speriamo nelle future versioni che ci darà Microsoft...?!

... A journey to find The anwers inside ... our illusive mind ...
63 messaggi dal 15 aprile 2002
Tuttavìa questo post può essere una spiegazione plausibile:

http://forum.aspitalia.com/forum/topic.aspx?PostID=160535

... A journey to find The anwers inside ... our illusive mind ...
567 messaggi dal 18 marzo 2002
BrightSoul ha scritto:
aaaahhh
no :(

ma è conveniente memorizzare quelle cose nella session? Cioè... aprire e chiudere una connessione è roba di pochi centesimi di secondo, secondo me può essere fatto in ogni pagina.
Anzichè mettere un dataset nella session, perchè non popoli una tabella su db e ci inserisci tutti i prodotti che l'utente ha attualmente nel carrello (ad esempio)?
Sinceramente non mi sono mai preoccupato delle prestazioni, anche perchè poi capita che il tempo impiegato da una query è di minor rilevanza rispetto a quello che tiene il client in attesa mentre si caricano quei 20-30kb di output + le immagini.
Se ci vogliono 5 secondi per caricare una pagina, direi che è una scheggia... una query normale su mysql impiega solo 0.5 secondi, vale la pena rifarla.


l'esempio del dataset in session è un classico esempio di applicazione disconnessa dove soltanto quando hai fatto tutte le modifiche del caso decidi di salvare le cose definitivamente sul database.
Il dataset è un oggetto disconnesso e si presta benissimo ad essere messo in session od in cache, di esempi e tutorial su questa cosa ne trovi a iosa, quindi non lo reputo una cosa sbagliata, più che una questione di prestazioni è una questione di disegno dell'applicazione.
567 messaggi dal 18 marzo 2002
target ha scritto:
BrightSoul ha scritto:

Il problema di questo scadere delle sessioni penso a questo punto sia generale... Dobbiamo parlare quindi di BUG del sistema .net ...?

Xkè, scusate... ma non mi pare tanto normale che accada una cosa del genere...
Ok che poi possiamo ovviare con cookies ecc. ecc. Xò si tratta sempre di "pezze" da appiccicare nel codice che non è proprio bella come cosa...

Speriamo nelle future versioni che ci darà Microsoft...?!



E' quello che vorrei capire anch'io cioè se è un bug o se è un comportamento documentato, come per l'oggetto cache, che può eliminare delle cose che vi sono memorizzate al suo interno se scarseggiano le risorse e infatti per questo motivo quando si legge dalla cache va sempre verificato che i dati siano sempre presenti.

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.