65 messaggi dal 18 novembre 2005
Salve a tutti,

stavo lavorando a un'applicazione web con il framework 2.0 e mi sono accorto che non riesco a chiudere la sessione.

Il codice è il seguente:

Protected Sub linkProcedi_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles linkProcedi.Click
Dim ordine As New Ordine
Dim carrello As New Carrello
If ordine.CreaOrdine("INSERT INTO Ordine (IdCarrello, Totale, Data, Evaso, Pagato, Nome, Cognome, Indirizzo, Comune, Provincia, Cap, Telefono, Email) VALUES ('" + Session("Numero").ToString + "', " + carrello.getTotale(Session("Numero")).ToString + ", " + Date.Now.ToShortDateString + ", 'False', 'False', '" + pulisciStringa(txtNome.Text) + "', '" + pulisciStringa(txtCognome.Text) + "', '" + pulisciStringa(txtIndirizzo.Text) + "', '" + pulisciStringa(txtComune.Text) + "', '" + pulisciStringa(txtProvincia.Text) + "', " + pulisciStringa(txtCap.Text) + ", '" + pulisciStringa(txtTelefono.Text) + "', '" + pulisciStringa(txtTelefono.Text) + "')", Session("Numero")) Then
Session.Remove("Numero")
Session.RemoveAll()
Session.Clear()
Response.Redirect("successo.htm", False)
Else
Response.Redirect("failed.aspx", False)
End If

Dopo aver eseguito la query dovrebbe chiudere la sessione, ma questo non avviene e alcuni dati rimangono salvati nella sessione, il che genera delle inconsistenze nel mio database.

Come posso risolvere questo problema?

Grazie a tutti coloro che mi dedicheranno qualche minuto del loro tempo.
A parte la costruzione della query senza l'uso dei parametri  , puoi provare ad usare Session.Abandon()

HTH

Matteo Casati
GURU4.net
65 messaggi dal 18 novembre 2005
Anche provando con Session.Abandon() la sessione rimane comunque aperta.
Com'è possibile questa cosa?
65 messaggi dal 18 novembre 2005
Qualcuno ha qualche idea per terminare la sessione?
213 messaggi dal 25 settembre 2006
...rileggendo meglio il codice ho visto che tu cancelli la sessione all'interno del'if...

se la funzione ritorna false la sessione non viene cancellata. Sicuro non sia questo il tuo caso?

tu la devi cancellare comunque? in questo caso metti session.Abandon() anche nell'else.

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.