aierong [trabalho original]
É a primeira vez que crio um carrinho de compras para um site BToC. Resumi o método de armazenamento de dados no carrinho de compras
.
Qualquer tipo de dados pode ser armazenado na sessão. Cada usuário possui um ID de sessão único. Este ID é usado para distinguir os dados da sessão do carrinho de compras de diferentes usuários. muitos usuários usam o carrinho de compras, então, primeiro, ele ocupará uma grande quantidade de recursos do servidor. A sessão tem uma pequena falha. Ela depende do COOKIE para se comunicar com o usuário. problemático.
Claro, em ASP. Existem duas outras maneiras de salvar os dados da sessão no NET. Uma é designar outro servidor para armazenar os dados da sessão, que pode efetivamente compartilhar a sobrecarga operacional do servidor WEB.
A outra é armazenar os dados da sessão no MS SQL. O MS SQL é implementado usando tabelas temporárias locais. Os dados da sessão são colocados nas tabelas temporárias locais
. esse ID para distinguir diferentes dados de sessão de diferentes usuários. No entanto, não recomendo esse método. A criação e exclusão frequente de tabelas temporárias no banco de dados causarão muita sobrecarga no banco de dados.
Método 2: Use uma tabela (ShoppingCart) no banco de dados
Meu método de implementação favorito é
que a tabela possui vários campos básicos.
CartId ID do carrinho de compras (exclusivo)
ID ID do produto (exclusivo)
A quantidade de produtos adquiridos pelos usuários Qty
CreateDate Hora de criação do carrinho de compras
O campo CartId desta tabela é o ID do carrinho de compras que distingue os diferentes usuários. Se o usuário estiver logado, você pode armazenar o ID do nome de login do usuário logado na tabela. o usuário não está logado e usa o carrinho de compras,
você pode atribuir um GUID (Globally Unique Identifier) como ID do carrinho de compras.
Este método também apresenta algumas falhas. Primeiro, causará uma grande quantidade de dados inválidos. Como todos sabemos, as pessoas que usam o carrinho de compras podem eventualmente não finalizar a compra e comprar mercadorias. Mas para utilizar o carrinho de compras
, é preciso inserir dados relevantes na tabela (ShoppingCart). Assim que um usuário não logado sai do site, seus dados na tabela se tornam uma pilha de dados desperdiçados, pois quando ele faz login. da próxima vez, atribuímos a
ele um novo ID do carrinho de compras CartId. Se houver dados residuais, temos que manter esta tabela de tempos em tempos. Podemos escrever um processo para limpar os dados residuais (usando os campos CreateDate e CartId para determinar. dados inválidos). Você também pode chamá-lo manualmente. Se o MS SQL for executado em nosso nome, um JOB pode ser configurado e o JOB chamará automaticamente o processo para limpar os dados desnecessários.
Falando sobre as deficiências do puxão, devemos falar sobre as vantagens deste método.
1. Consome menos recursos do sistema. Podemos colocar o banco de dados em um computador e o servidor WEB em outro computador, para que os recursos do sistema possam ser totalmente utilizados.
2. Os dados no carrinho de compras podem ser
retidos
de forma eficaz. Podemos imaginar que um cliente sai repentinamente da estação de compras por algum outro motivo (travamento, etc.) enquanto faz o próximo login. vez, o carrinho de compras será salvo.Também há os dados retidos da última vez para evitar que os usuários comprem mercadorias novamente (esta função só é válida para carrinhos de compras de usuários logados se uma sessão for usada para implementar
o carrinho de compras
)., assim que todos os usuários saírem do site, todos os dados de seus carrinhos de compras serão perdidos. A falha
é fácil, acabei de resumir, porque acabei de entrar em contato com o ASP. NET, não sei muito sobre muitos aspectos. Pode haver outras maneiras de implementar um carrinho de compras. Espero que vocês possam me dar alguns conselhos.