Idealny sposób na przechowywanie informacji o produkcie w koszyku w asp.net
Tworzę aplikację e-commerce, w której mam koszyk.
Moja obecna struktura to, że użytkownik zapisuje produkt, umieszcza go w zestawach danych i datatable do sesji, więc dopóki sesja nie zostanie przekroczona, użytkownik może mieć listę, którą zapisał.
Jednak zwiększyłem limit czasu sesji do 600 minut (10 godzin), ale moim zmartwieniem jest to, że jest to najlepsze podejście do przechowywania informacji o koszyku, ponieważ jeśli powiedzą np. 1000 Użytkowników uzyskujących dostęp do witryny jednocześnie, nastąpi 1000 sesji obiekt utworzony na serwerze, nie pogorszy to wydajności mojej witryny.
Nie mogę zapisać go w bazie danych, ponieważ jeśli użytkownik jest anonimowy, nie mam wyjątkowej rzeczy o użytkowniku, w ten sposób, jeśli 1000 użytkowników uzyskuje dostęp do witryny, wszystkie produkty zostaną scalone, nie będę mógł pobrać produkt zapisany przez bieżącego użytkownika.
Czy istnieje inne lepsze podejście do tego problemu.
Witam @ glautrou, to może być dobre rozwiązanie, ale co jeśli ciasteczko zostanie wyłączone po stronie klienta. – Abbas
Jeśli pliki cookie są wyłączone, sesje prawdopodobnie również zostaną wyłączone. Jeśli masz kłopot z wyłączonym JavaScriptem, możesz podać "Identyfikator koszyka" we wszystkich swoich adresach URL. To niezbyt przyjemne, ale w tym przypadku nie masz wielu możliwości wyboru. – glautrou
Chyba pliki cookie są przechowywane po stronie klienta i sesje na serwerze, więc użytkownik nie może wyłączyć sesji z końca przeglądarki, ponieważ znajduje się ona na serwerze. – Abbas