Sessioni Impazzite!?!

mercoledì 25 marzo 2009 - 19.50

sankyu Profilo | Senior Member

ciao a tutti ho un problema tanto assurdo quanto grave! lo spiego tramite un esempio così è più chiaro:
premetto: vari utenti lavorano tramite una webapplication asp.net 2.0 che utilizza sessioni http per mantenere le login ed alcune informazioni necessarie all'operatività.
è successo questo:
l'utente uno dopo aver selezionato un prodotto(il prodotto viene memorizzato in una sessione) ha stampato la bolla ed ha completato la vendita autorizzandola sul sistema, il sistema sia per stampare i dati della bolla che per salvare la transazione utilizza la sessione prodotto che viene caricata nel momento in cui si seleziona il prodotto e viene distrutta o a fine vendita oppure nel momento in cui si seleziona qualsiasi pagina non inerente alla vendita.
utente due ha fatto la stessa cosa, stampato la fattura e confermato la vendita.

il problema è questo: utente 2 in fattura ha un prodotto diverso da quello di utente 1 e quindi le sessioni erano diverse ma in fase di conferma ad utente 2 è stato assegnato lo stesso prodotto di utente 1 anche se l'accesso è stato fatto da 2 pc differenti e non collegati tra loro.

Esiste una possibilità che le sessioni si miscelino? non dovrebbero essere univoche? per ora sto analizzando il file di log del DB per vedere se è stato un errore in fase di salvataggio anche se non vedo come sia possibile dato che sono 2 transazioni indipendenti che prendono i dati da sessioni univoche, aggiungo che il sistema usa circa 10 sessioni e solo quella del codice prodotto era "strana" tutte le altre erano corrette come nella stampa della bolla.

vi prego help!!datemi qualche dritta su come fare a beccare il bug per ora è successo solo 2 volte su 200000 transazioni eseguite senza problemi, almeno 2 volte ce ne siamo resi conto ma dato che vengono sempre fatti controlli a mano non ci pare che sia capitato altre volte

luigidibiasi Profilo | Guru


>in cui si seleziona qualsiasi pagina non inerente alla vendita.
>utente due ha fatto la stessa cosa, stampato la fattura e confermato
>la vendita.

Che procedura usi per distruggere i dati mantenuti nella variabile session?

>
>il problema è questo: utente 2 in fattura ha un prodotto diverso
>da quello di utente 1 e quindi le sessioni erano diverse ma in
>fase di conferma ad utente 2 è stato assegnato lo stesso prodotto
>di utente 1 anche se l'accesso è stato fatto da 2 pc differenti
>e non collegati tra loro.

Controlla in IIS nel pool delle applicazioni.... nella sezione webgarden in numero max processi di lavoro settalo a 1.

Capitava una cosa del genere anche a me tanto da farmi perdere l'abitudine di usare l'oggetto session :)

Controlla anche le impostazioni di riciclo dei processi....


Luigi Di Biasi
http://blogs.dotnethell.it/luigidibiasi/

sankyu Profilo | Senior Member

è gia ad 1 il tempo di reciclo del processo è impostato a 1740 minuti praticamente 1.5 volte ogni 2 giorni il problema non si è più ripresentato e ci siamo accorti che avviene solo nel momento in cui il prodotto di utente 2 è appena stato creato. le sessioni le uccido session("nomeSessione")=nothing oppure con session.clearall
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5