ASP.NET会话丢弃事件

时间:2015-02-12 13:44:25

标签: c# asp.net session webforms session-variables

这是一种方式,如果一个asp.net网络表格会话被droped(例如,客户端欺骗浏览器=超时)会引起注意吗?

我们有一个临时用户购物卡会话:

HttpContext.Current.Session["UserShoppingCard"] = new UserShoppingCard();

除了上面解释的功能之外,每件事情都很好。

谢谢!

2 个答案:

答案 0 :(得分:5)

我会尝试拦截global.asax文件中的 Session_End 事件,并在那里添加一些日志记录,它可能不会在浏览器关闭时发生,但无论如何都会在某个时刻发生会话终止,您可以在那里包含您的逻辑。

事实上,服务器永远不知道浏览器何时关闭,或者连接问题是否导致客户端无法连接。

答案 1 :(得分:3)

如前所述,补充代码......

public class Global : System.Web.HttpApplication
{
    protected void Session_End(object sender, EventArgs e)
    {
        //Do your things here when session ends...
    }
}