Ciao a tutti,
vorrei aggiornare il mio sito di e-commerce passando dal .Net 1.1.4... a .Net 4.0 e mi servirebbero un po' di consigli sulla realizzazione del nuovo carrello della spesa. Nel post
http://forum.aspitalia.com/forum/post/358293/Variabili-Session-Consumo-Memoria.aspx Daniele Bochicchio, che ringrazio ancora per la disponibilità, ha consigliato di utilizzare una
1) una classe fatta a mano con 0 overhead, cucita addosso alla problematica e, sopratutto, strongly typed
2) un layer misto cache/database
3) passi ad una modalità out of process per la cache, usando Velocity/Windows Server AppFabric Cache:
http://www.aspitalia.com/articoli/asp.net4/velocity.aspx
Prima di esporre i miei dubbi/domande vi spiego cosa deve fare il mio carrello:
a) Deve sempre mostrare tutti i prodotti in esso presenti (Qta, titolo, disponibilità, prezzo) essendo il mio un sito di "smanettoni" collezionisti che vogliono sempre avere sotto controllo quello che stanno acquistando.
b) la gestione della visualizzazione dei prodotti è molto complessa perchè ogni riga del carrello mostra prodotti aventi caratteristiche identiche. Quindi i prodotti devono avere stesso ID, Prezzo e Disponibilità. Se una delle tre caratteristiche è diversa deve essere creata una nuova riga di visualizzazione in modo che l'utente abbia sempre sotto controllo tutto.
c) sempre nella gestione della visualizzazione devono essere gestite delle promozioni nXm e nXz ¤.
d) essendo il carrello sempre visibile ed essendo le disponibilità reali dovrebbe tenere in considerazione eventuali variazioni o di disponibilità o di prezzo.
Ed ecco le domande:
I) Per quanto riguarda il terzo punto, devo dire che ho dato solo una letta veloce
, mi sembra di capire che la tecnologia prevede l'utilizzo di più server cosa che vorrei per il momento evitare. Ciò comunque non preclude un utilizzo della cache, come detto nel punto 2, che però mi lascia un po' in dubbio visto quanto detto nel punto d (conseguenza dei punti b, c). Che approccio conviene seguire?
II) Per il mio vecchio carrello ho creato un user control ed ogni volta che l'utente cambia pagina il carrello viene ricaricato dal db e non è presente nè in cache nè in variabili di tipo session. per tenere traccia dell'utente utilizzo i coockie dove salvo o il sessionid o la sua identità se loggato. Il tutto funziona bene ma volendo ottimizzare il tutto in ottica di un raddoppio delle visite avete qualche soluzione alternativa da consigliarmi?
Scusate per il papiro ma non avendo tantissimo tempo per studiare bene il .Net 4.0, venendo da una tecnologia alquanto datata e facendomi da solo lo sviluppo di tutto (grafica/DB/programmazione) devo per forza di cose cercare consigli.
Grazie a tutti per le risposte... Ciao