Comment effacer le panier automatiquement après une certaine période dans asp.net

J'ai créé un site e-commerece. mon problème est que je veux effacer le panier par lui-même après une période de licence si l'user a quitté le site après avoir ajouté les articles dans le panier, qu'il soit connecté ou non.

Mon code Global.ascx est:

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(); } 

mais je ne sais pas comment faire cela. Aidez-moi, s'il vous plaît. Merci.

Vous pouvez utiliser System.Web.Caching.Cache pour mettre en cache le panier d'achat. Vous pouvez utiliser l'expiration absolue ou glissante pour contrôler la période pendant laquelle le chariot est en cache.

Avec cache, récupérez simplement le panier, si return null, le cache a expiré (signifie chariot effacé).

Le profil est utilisé pour conserver datatables entre les sessions ou entre les connections.

Vous devez utiliser la session pour stocker les informations sur le panier de cet user – http://msdn.microsoft.com/fr-fr/library/ms178581.aspx .

Session est une banque d'informations temporaire qui existe pour une certaine période. Comme les sessions expirent automatiquement; le panier serait effacé après une période.

Les sessions peuvent stocker toute information dont vous avez besoin et ne sont en aucun cas limitées aux informations de connection ou d'authentification.

 Session["ShoppingCart"] = new ShoppingCartExample.Cart();