các bác cho hỏi, là giờ em tính cho user sẽ thêm giỏ hàng khi chưa thanh toán, tới payment thì login thôi, nếu log out thì clear cart, thì em tính là login vô trang web sẽ tạo 1 sessionId bên phía server gửi cho client, client thêm vào cart thoải mái, khi đăng nhập thì cái class User nên lưu sao để giữ dc cái món trong giỏ hàng nhỉ, do bên class User em để UserId là identity tự động tăng, solution của em là cho 2 cái sessionId ở class User và Cart, mọi người ko biết ai có ý tưởng nào ko nhỉ, em sài client là reactjs và server là asp.net core api
Thắc mắc về sessionId
Ngày nay người ta dùng client để lưu thông tin giỏ hàng hoặc những cái mà bạn không cần lưu phía server để tiến hành phân tích/ nghiên cứu. Không mấy ai còn dùng server để lưu mấy thông tin tiện cho người dùng nhưng rắc rối không cần thiết cho lập trình viên nữa. Bạn xử lý dùng sessionStorage hoặc localStorage với JavaScript để giảm tải cho server. Phía server thì chỉ cần check cookie để nhận diện người đó là ai và JavaScript sẽ đọc các thông tin về giỏ hàng (bạn có thể chứa thông tin đến 10MB, cái mà session khó khả thi do nặng) từ sessionStorage hoặc localStorage.
Như bác trên đã nói, nếu user truy cập web là khách vãng lai thì giỏ hàng lưu vào localStorage. Nếu user có 2 yếu tố này thì giỏ hàng lưu phía server:
- user sử dụng giỏ hàng SAU KHI LOGIN.
- hệ thống có thêm app mobile (đồng bộ giỏ hàng web và app).
Ngoài ra còn một số tính năng nâng cao nếu web nhiều user như: phân tích hành vi mua sắm dựa vào giỏ hàng, … thì giỏ hàng phải lưu vào database chứ không phải session ở web server.
Nếu dùng Rejectjs thì tham khảo sử dụng cái LocalStore hoặc sessionStore để giảm tải phía server