aierong [Originalarbeit]
Es ist das erste Mal, dass ich einen Warenkorb für eine BToC-Site erstellt habe. Ich habe die Speichermethode für Daten im Warenkorb zusammengefasst:
Methode 1
Jede Art von Daten kann in der Sitzung gespeichert werden. Diese ID wird verwendet, um die Warenkorb-Sitzungsdaten verschiedener Benutzer zu unterscheiden Viele Benutzer verwenden den Warenkorb. Erstens wird die Sitzung einen kleinen Fehler aufweisen. Sie ist auf COOKIE angewiesen, um mit dem Benutzer zu kommunizieren lästig.
Natürlich in ASP. Es gibt zwei weitere Möglichkeiten, Sitzungsdaten in NET zu speichern. Eine besteht darin, einen anderen Server zum Speichern der Sitzungsdaten zu bestimmen, der den Betriebsaufwand des WEB-Servers effektiv teilen kann.
Die andere Möglichkeit besteht darin, die Sitzungsdaten in MS SQL zu speichern. Die Sitzungsdaten werden in den lokalen temporären Tabellen abgelegt und weisen
meiner Meinung nach
jeder lokalen temporären Tabelle eine eindeutige ID zuDiese ID dient zur Unterscheidung verschiedener Sitzungsdaten verschiedener Benutzer. Ich empfehle diese Methode jedoch nicht. Das häufige Erstellen und Löschen temporärer Tabellen in der Datenbank verursacht zu viel Overhead für die Datenbank.
Methode 2: Verwenden Sie eine Tabelle (ShoppingCart) in der Datenbank.
Meine bevorzugte Implementierungsmethode ist,
dass die Tabelle mehrere grundlegende Felder hat.
CartId Warenkorb-ID (eindeutig)
Id Produkt-ID (eindeutig)
Die Menge der von Qty-Benutzern gekauften Waren
CreateDate Warenkorb-Erstellungszeit
Das Feld CartId dieser Tabelle ist die ID des Warenkorbs, die verschiedene Benutzer unterscheidet. Wenn der Benutzer angemeldet ist, können Sie die ID des Anmeldenamens des angemeldeten Benutzers in der Tabelle speichern Wenn der Benutzer nicht angemeldet ist und den Warenkorb verwendet,
kann er eine GUID (Globally Unique Identifier) als Warenkorb-ID zuweisen.
Diese Methode weist auch einige Mängel auf. Erstens führt sie zu einer großen Menge ungültiger Daten. Wie wir alle wissen, kann es sein, dass Menschen, die den Einkaufswagen nutzen, irgendwann nicht zur Kasse gehen und Waren kaufen. Um den Warenkorb zu verwenden
, müssen Sie jedoch relevante Daten in die Tabelle (ShoppingCart) einfügen. Sobald ein nicht angemeldeter Benutzer die Website verlässt, werden seine Daten in der Tabelle zu einem Haufen Datenmüll, da er sich anmeldet Beim nächsten Mal weisen wir
ihm eine neue CartId-Warenkorb-ID zu. Wenn Abfalldaten vorhanden sind, müssen wir diese Tabelle von Zeit zu Zeit pflegen. Wir können einen Prozess schreiben, um die Abfalldaten zu löschen (unter Verwendung der Felder CreateDate und CartId). Sie können es auch manuell aufrufen. Wenn MS SQL in unserem Namen ausgeführt wird, kann ein JOB eingerichtet werden, und der JOB ruft den Prozess automatisch auf, um die Abfalldaten zu löschen.
Wenn wir über die Nachteile des Ziehens sprechen, sollten wir über die Vorteile dieser Methode sprechen.
1. Es beansprucht weniger Systemressourcen. Wir können die Datenbank auf einem Computer und den WEB-Server auf einem anderen Computer platzieren, sodass die Systemressourcen vollständig genutzt werden können.
2. Wir können uns vorstellen, dass ein Kunde aus einem anderen Grund (Absturz usw.) beim nächsten Einloggen die Daten im Warenkorb effektiv
behält
Gleichzeitig wird der Warenkorb gespeichert, um zu verhindern, dass der Benutzer erneut Waren kauft (diese Funktion gilt nur fürden Warenkorb
eines eingeloggten Benutzers).
Sobald alle Benutzer die Website verlassen, gehen alle Daten in ihren Einkaufswagen verloren. Der Fehler
ist einfach. Ich habe diese nur zusammengefasst, weil ich gerade mit ASP in Kontakt gekommen bin. NET, ich weiß nicht viel über viele Aspekte. Es gibt möglicherweise andere Möglichkeiten, einen Einkaufswagen zu implementieren. Ich hoffe, Sie können mir einige Ratschläge geben.