Ciao a tutti, sto facendo un sito di e-commerce in asp.net che presto metterò anche a disposizione di download per tutti.
Volevo alcuni consigli: la mia idea era di mettere all interno del global.asax una funzione per generare una sessione casuale:
Function Casuale()
Dim N_Caratteri as integer
Dim Stringa as string
Dim I as integer
Dim N as integer
N_Caratteri = 15
Stringa = ""
Randomize Timer
For I = 1 To N_Caratteri
Do
N = Int(Rnd * 75) + 48
Loop Until ((N >= 48) AND (N <= 57)) OR ((N >= 65) AND (N <= 90)) OR ((N >= 97) AND (N <= 122))
Stringa = Stringa & Chr(N)
Next
Casuale = Stringa
End Function
E poi al session on start questo blocco di codice:
Dim SessionID as string
Dim DurataCookie as Integer
DurataCookie = 1440 '24 ore
If Request.Cookies("Ecom")("SessionID") = "" Then
Response.Cookies("Ecom").Expires = CStr(DateAdd("n", DurataCookie, Now()))
Response.Cookies("Ecom").Secure = FALSE
Response.Cookies("Ecom")("SessionID") = Casuale
SessionID = Request.Cookies("Ecom")("SessionID")
Else
Response.Cookies("Ecom").Expires = CStr(DateAdd("n", DurataCookie, Now()))
SessionID = Request.Cookies("Ecom")("SessionID")
End If
In modo che chiunque entri nell e-commerce se è la prima volta avrà la sua sessione casuale e quindi poi nella tabella carrello del DB basterà affiancare essa ai prodotti.Mentre chi non è la prima volta che entra avrà un coockie con memorizzata la sessione casuale che però esisterà solo se sarà "rientrato" entro 24 ore dalla creazione del cookie (per non rischiare di avere due sessioni casuali uguali).Quindi ogni utente memorizzerà il proprio carrello per 24 ore.
Fin qui tutto ok.
Quello che vi chiedo è se intanto vi sembra una buona soluzione, e poi se è possibile inserire funzioni nel global.asax, se si dove e se la sintassi che ho scritto va bene e se ci sono errori in generale.
Grazie!