2011-07-17 2 views
0

Я разработал корзину для покупок, которая позволяет пользователям и пользователям, не входящим в систему, размещать в них вещи. Проблема заключается в том, что пользователь, не входящий в систему, добавляет элементы в корзину, он будет храниться в их cookie-файле браузера, а также в моей базе данных с именем cookie в качестве идентификатора, в следующий раз, когда они снова будут просматривать сайт, войдите в систему, моя программа выполнит поиск &, если cookie на стороне пользователя будет найден, тогда тележка будет возвращена.ASP.NET дилемма для покупок

Теперь, если пользователь скажет добавить 20 элементов и сразу же удалить их файлы cookie, это оставит в моей базе корзину без присмотра. Я думаю, что нет способа сделать это таким образом, что если файлы cookie будут удалены на стороне клиента, я хочу, чтобы и эти «необслуживаемые» тележки были удалены. Я думал о том, чтобы не совершать количество для пользователей, не подключающихся к логину, до тех пор, пока они не войдут в систему и не перенесут анонимную тележку в свою собственную учетную запись, но это будет вроде бы предвзято относиться к пользователям входа, и последнее, что я хочу, - это возвращение через 3 дня и поиск все предметы отсутствуют.

Любые советы? Благодарю.

ответ

3

Вы можете запланировать работу в базе данных, которая будет работать через регулярные промежутки времени и будет удалять, скажем, все анонимные тележки, которые старше 1 недели.

+0

Спасибо, я думаю, это хороший подход. – k80sg

0

В Global.asax удалить «без присмотра» телеги из базы данных конкретной сессии на session_start Event

потому что session_start событие вызывается, когда нет куки или сессии не будут найдены в браузере

и когда начинается новый сеанс.

Смежные вопросы