Il modo ideale per memorizzare le informazioni di prodotto nel carrello in asp.net
Sto creando un'applicazione di e-commerce, in cui ho un carrello della spesa.
La mia struttura attuale è, ogni volta che l'utente salva il prodotto, metto il prodotto nel datatable e datatable alla sessione, quindi fino a quando la sessione non è scaduta, l'utente può avere l'elenco che hanno salvato.
Tuttavia, ho aumentato il timeout della sessione a 600 minuti (10 ore), ma la mia preoccupazione è che questo è il miglior approccio per la memorizzazione delle informazioni del carrello degli acquisti, perché se ad esempio 1000 utenti accedono contemporaneamente al sito, ci saranno 1000 sessioni oggetto creato sul server, non peggiorerà le prestazioni del mio sito web.
Non posso archiviarlo nel database perché se l'utente è anonimo non ho la cosa univoca sull'utente, in questo modo, se 1000 utenti accedono al sito, tutti i prodotti verranno uniti, non sarò in grado di recuperare il prodotto salvato dall'utente corrente.
C'è qualche altro approccio migliore per questo problema.
Hi @glautrou, potrebbe essere la soluzione migliore, ma cosa succede se il cookie è disabilitato sul client. – Abbas
Se i cookie sono disabilitati, è probabile che anche le sessioni siano disabilitate. Se ti preoccupi di disabilitare JavaScript, puoi passare "ID carrello" in tutti i tuoi URL. Questo non è molto bello, ma in questo caso non hai molte scelte. – glautrou
Immagino che i cookie siano archiviati sul lato client e sessioni sul server, quindi l'utente non può disabilitare la sessione dalla fine del browser, poiché risiede sul server. – Abbas