繁体   English   中英

在一定时间后如何在asp.net中自动清除购物车

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM