在应用开始或应用结束时清除会话[英] clearing Session on application start or application end

问题描述

你好!!!

我有个问题.我已经部署了一个网站.当用户进入并将产品添加到购物车时,它们会被添加到我通过类文件添加的会话变量中.

静态 ShoppingCart(){//如果购物车不在会话中,则创建一个并放在那里// 否则从会话中获取if (HttpContext.Current.Session["ShoppingCart"] == null){实例 = new ShoppingCart();Instance.Items = new List<CartItem>();HttpContext.Current.Session["ShoppingCart"] = 实例;}其他{实例 = (ShoppingCart)HttpContext.Current.Session["ShoppingCart"];}}



现在,如果用户关闭网站而另一个用户打开网站,我的购物车将显示前一个用户添加的对象.

如何在应用程序开始或应用程序结束时清除购物车项目???
访问 www.woodworld.co

推荐答案

您好,
我希望你有 Globel.asax 文件.
在那个文件中的
Session_OnEnd
方法.
如果您从站点
Session_OnEnd
退出并使用
Session.Abandon() 清除会话;
方法.
但是如果你关闭浏览器它不会被触发并使用以下文章来解决这个问题.

http://aspalliance.com/1294_CodeSnip_Handle_Browser_Close_Event_on_the_ServerSide.all[^]

http://zeeshanumardo.net.blogspot.com/2011/01/how-to-end-session-when-browser-is.html[^]

http://forums.asp.net/t/1116238.aspx/2/10[^]

如果这对您有帮助,请不要犹豫将其标记为答案..

用于清除会话数据
Session.Abondon();Session.Clear();

会话是用户特定的对象.如果您将数据存储在 Session 中,则该数据仅适用于该终端的特定用户.

本文地址:https://www.itbaoku.cn/post/1394959.html