[英]How to clear shopping cart automatically after a certain period in asp.net
我创建了一个电子商务网站。 我的问题是,如果用户在登录或未登录后将商品添加到购物车中之后离开站点,我想在一个确定的时期后自行清除购物车。
我的Global.ascx代码是:
void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs e)
{
ProfileCommon anonymousProfile = Profile.GetProfile(e.AnonymousID);
if (anonymousProfile.SCart != null)
{
if (Profile.SCart == null)
Profile.SCart = new ShoppingCartExample.Cart();
Profile.SCart.Items.AddRange(anonymousProfile.SCart.Items);
anonymousProfile.SCart = null;
}
ProfileManager.DeleteProfile(e.AnonymousID);
AnonymousIdentificationModule.ClearAnonymousIdentifier();
}
但我不知道该怎么做。 请帮我。 谢谢。
您可以使用System.Web.Caching.Cache来缓存购物车。 您可以使用绝对或滑动到期来控制购物车在缓存中的时间段。
使用缓存时,只需检索购物车,如果返回null,则表明缓存已过期(意味着已清除购物车)。
配置文件用于跨会话或登录保留数据。
您应该使用会话存储该用户的购物车信息-http://msdn.microsoft.com/zh-cn/library/ms178581.aspx 。
会话是存在一定时间的临时信息存储。 随着会话自动过期; 一段时间后,购物车将被清算。
会话可以存储您需要的任何信息,而绝不仅限于登录或身份验证信息。
Session["ShoppingCart"] = new ShoppingCartExample.Cart();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.