c# - asp.net 如何在一段时间后自动清除购物车

标签 c# asp.net sql-server

我创建了一个电子商务网站。我的问题是,如果用户在将商品添加到购物车后离开网站,无论他是否登录,我都想在一段时间后自行清除购物车。

我的 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,缓存已经过期(意味着清除购物车)。

关于c# - asp.net 如何在一段时间后自动清除购物车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535163/

相关文章:

c# - C# 中的指针及其在应用程序中的使用频率?

c# - UITextField TextColor 属性绑定(bind)问题(MVVMCross)

c# - 如何使用 mvc 4 向我的 api 添加 token ?

c# - 如何在 C# 中正确多线程运行时调用的 DLL

c# - 企业库 6 错误 : Cannot access a disposed object (Object name: 'Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter' )

LaunchSettings.json中的Asp.Net Core更改URL不起作用

sql-server - 根据条件判断光标

sql - 列以相反顺序定义的 2 个索引之间的差异

c# - ASPNET 核心 : Wrong Value for ContentRootPath

sql-server - SSRS 报告 - 导出到 excel 日期时间过滤