2011-07-17 8 views
0

ログインカートと非ログインユーザーの両方にショッピングカートを入れるショッピングカートを設計しました。問題はログインしていないユーザーにあります。アイテムをカートに追加すると、ブラウザのクッキーに保存され、クッキー名をIDとしてデータベースに保存されます。ログインユーザー、私のプログラムは検索を行います&、ユーザー側のクッキーが見つかった場合、カートが返されます。ASP.netショッピングカートのジレンマ

ユーザーが20個のアイテムを追加してすぐにクッキーを削除すると、データベースに「無人」のカートが残ってしまいます。クッキーがクライアント側で削除された場合、それらの「無人」カートも削除するようにする方法はありません。私はログインしていないユーザーの数量を自分のアカウントに移行し、自分のアカウントに移行するまで数量をコミットしないと思っていましたが、ログインユーザーに偏っていて、最後に3日後に戻ってきて、すべての商品が在庫切れになります。

アドバイスはありますか?ありがとう。

答えて

3

データベースで定期的に実行されるジョブをスケジュールして、1週間以上経過したすべての匿名カートを削除することができます。

+0

私はそれが良いアプローチだと思います。 – k80sg

0

のGlobal.asaxで削除のsession_startイベントに特定のセッションのデータベースから「無人」カート

何のクッキーやセッションがブラウザ

とするとき、新しいセッションが開始された上で見つからないときにsession_startイベントが発生しているからです。