Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

e-shop

Îåêßíçóå áðü ôï ìÝëïò Panos.C#. Τελευταία δημοσίευση από το μέλος dpant στις 07-09-2011, 22:31. Υπάρχουν 8 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-09-2011, 13:53 67076

    e-shop

    Καλημέρα σας,Έχω κάνει ένα e-shop και θα ηθελα να εκτελώ παραγγελίες και σε εγγεγραμμένη μέλη και σε μη εγγεγραμμένα.

    Το κομμάτι εγγεγραμμένα είναι οκ και το έχω ολοκληρώσει με το asp.Membership στην περιπτώση μη μελών ποιος είναι ο σωστότερος τρόπος για την υλοποίηση του και ποια είναι η απόψη σας?


    breadcrumbs.gr
  •  06-09-2011, 14:20 67090 σε απάντηση της 67076

    Απ: e-shop

    Μπορείς να χρησιμοποιήσεις 

    ASP.NET Profile Properties


    George Matzouranis
  •  06-09-2011, 14:57 67092 σε απάντηση της 67090

    Απ: e-shop

    Τα profile properties αφορούν χρήστες του Membership. Εξάλλου αφορούν κάτι εντελώς διαφορετικό από αυτό που συζητάμε: πως θα αποθηκεύσεις επιπλέον πληροφορίες για κάθε χρήστη. Αυτό που συζητάμε έχει να κάνει με το πως θα εκτελέσεις παραγγελίες για όσους δεν είναι μέλη.

    Η αλήθεια είναι ότι η ερώτηση είναι λίγο περίεργη. Προφανώς και μπορείς άνετα να δείξεις μία φόρμα όπου οι πελάτες θα συμπληρώσουν τα στοιχεία της παραγγελίας. Η φόρμα αυτή δεν χρειάζεται να συμπληρωθεί παρά μόνο όταν κάποιος φτάνει στο checkout. Το θέμα καταρχήν είναι αν θέλεις να ολοκληρώσεις την παραγγελία χωρίς να φτιάξει ο άλλος username/password. Αν για παράδειγμα θέλει να δει την εξέλιξη της παραγγελίας του πως θα το κάνει? Λύσεις υπάρχουν, π.χ. να σου στείλεις ένα URL με ένα κλειδί για την παραγγελία του, αλλά θα πρέπει να σκεφτείς πως θα τον προστατέψεις αν παραπέσει το URL (π.χ. εμφανίζοντας περιορισμένα στοιχεία).

    Αν αυτός ο πελάτης που δεν χρησιμοποιεί username επιστρέψει, δεν θέλεις τα στοιχεία του? Θα πρέπει να τα ξανασυμπληρώσει όλα? Θα τον καταχωρήσεις ως νέο πελάτη στη βάση? Ακόμα και αν το ονοματεπώνυμο ενός πελάτη είναι το ίδιο με κάποιου άλλου, δεν μπορείς να θεωρήσεις ότι είναι το ίδιο άτομο.

    Αν αυτό που σε απασχολεί είναι να μην χρειάζεται ο χρήστης να δημιουργήσει άλλο ένα username/password, μπορείς να χρησιμοποιήσεις OAuth authentication και έτσι να του επιτρέψεις να χρησιμοποιήσει το Google ή το Facebook account του.

    Όσον αφορά το membership, δεν υπάρχει κάποιος λόγος η παραγγελία να εξαρτάται από το Membership. Μάλιστα θα έλεγα ότι είναι λάθος μεγάλο να μπει αυτή η εξάρτηση. Κανονικά οι πίνακες παραγγελιών, πελατών κλπ θα πρέπει να είναι εντελώς ανεξάρτητοι από το Membership. Το κλειδί του πελάτη θα πρέπει να είναι το κλειδί του πίνακα των πελατών, όχι το username ή το Membership ID. Το κλειδί αυτό μετά μπορείς να το αποθηκεύσεις ως profile property για το χρήστη και να το φορτώνεις όταν αυτός κάνει login.ω


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-09-2011, 16:13 67095 σε απάντηση της 67092

    Απ: e-shop

    Τα profile properties δεν αφορούν μόνο χρήστες του Membership αλλά και anonymous




    George Matzouranis
  •  06-09-2011, 17:26 67096 σε απάντηση της 67095

    Απ: e-shop

    Δεν λέω ότι δεν δουλεύουν με anonymous αλλά ότι δεν έχουν σχέση με το πρόβλημα.
    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-09-2011, 17:47 67097 σε απάντηση της 67096

    Απ: e-shop

    1. Μπαίνει Anonymous
    συμπληρώνει την παραγγελία 

    Μέσω του Profile  anonymous αποθηκεύετε το cart και ελέγχετε κάθε κίνηση  του.
    και όταν checkout, μεταφέρετε η παραγγελία μέσω του handler στο global.asax από anonymous στο member
    Αν δεν είναι member κάνει εγγραφή και μετά κατά τον αυτό τρόπο μεταφέρετε η παραγγελία από anonymous σε member.

    Δες το παράδειγμα



    George Matzouranis
  •  06-09-2011, 18:03 67098 σε απάντηση της 67097

    Απ: e-shop

    Ή δεν χρησιμοποιείς καθόλου το profile, αποθηκεύεις το cart στη βάση όπως θα έκανες και με logged-in users και αποθηκεύσεις το ID της παραγγελίας στο session. Η αποθήκευση του cart στο profile θα έλεγα ότι είναι μάλλον περίεργη λύση. Αν μάλιστα εννοείς ότι θα πρέπει να αποθηκεύεις τις παραγγελίες όλων των χρηστών στο profile τους, γίνεται ακόμα πιο περίεργη.

    Γενικά δεν είναι καλή ιδέα να μπλέκεις διαφορετικού είδους δεδομένα, και κυρίως όταν αυτά έχουν τόσο διαφορετικές ανάγκες χρήσης και προσπέλασης. Το profile γράφεται αραιά και διαβάζεται συχνά ενώ τα δεδομένα του είναι σχετικά λίγα. Αντίθετα, μία παραγγελία τροποποιείται αρκετά συχνότερα μέχρι να οριστικοποιηθεί, οπότε δεν ξαναχρησιμοποιείται παρα μόνο για reporting. Το profile όμως είναι εντελώς ακατάλληλο για reporting καθώς αποθηκεύει τα δεδομένα σε μορφή ακατάλληλη για queries.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  06-09-2011, 19:56 67100 σε απάντηση της 67098

    Απ: e-shop

    Φυσικά και δεν εννοώ ότι ότι θα πρέπει να αποθηκεύει τις  παραγγελίες όλων των χρηστών στο profile τους.

    Απλά χρησιμοποιούμε τον μηχανισμό anonymous του membership κρατώντας πχ 2 πίνακες cart cartitems με βασικές πληροφορίες πχ itemid,ποσότητα, ημ/νια κλπ. άλλωστε πόσες γραμμές να έχει ένα καλάθι.  
    Αφού λοιπόν γίνει το checkout εάν δεν είναι member γίνετε, και μεταφέρεται στη βάση η παραγγελία
    εάν είναι ήδη πελάτης ενημερώνετε πχ μέσω του memberid , εάν όχι τότε δημιουργείτε και ενημερώνονται όλοι οι πίνακες μέσω customerid και memberid κλπ και μετά διαγράφετε το anonymous profile

    Φυσικά θα μπορούσε να κρατήσει αυτήν την ανώνυμη πληροφορία σε session και μετά να τα μεταφέρει στη βάση.


    George Matzouranis
  •  07-09-2011, 22:31 67115 σε απάντηση της 67076

    Απ: e-shop

    Panos.C#:

    Καλημέρα σας,Έχω κάνει ένα e-shop και θα ηθελα να εκτελώ παραγγελίες και σε εγγεγραμμένη μέλη και σε μη εγγεγραμμένα.

    Το κομμάτι εγγεγραμμένα είναι οκ και το έχω ολοκληρώσει με το asp.Membership στην περιπτώση μη μελών ποιος είναι ο σωστότερος τρόπος για την υλοποίηση του και ποια είναι η απόψη σας?

    Θεωρώ πολύ δύσκολο ως προς την συντήρηση να έχεις δυο διαφορετικούς μηχανισμούς. Ακολούθησε την ίδια υλοποίηση για το καλάθι σου και στις 2 περιπτώσεις. Λογικά για την ολοκλήρωση της παραγγελίας τους οι επισκέπτες θα γίνονται, τελικά, μέλη, οπότε...

     


    In their capacity as a tool, computers will be but a ripple on the surface of our culture. In their capacity as intellectual challenge, they are without precedent in the cultural history of mankind. -Edsger W. Dijkstra. The humble programmer.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems