我有一个使用会话变量的asp.net webapplicatoin。我在触发session_end时清除会话值,但是在关闭上一个窗口后在新窗口中打开应用程序时,会话值保留。
有没有办法可以摆脱会话值。
提前致谢... Phani
答案 0 :(得分:0)
新 Windows /标签不会创建新会话,新的浏览器实例会这样做。
此外,当会话结束时,会话变量消失了。您无法控制GC何时从内存中删除它们,但无法再访问它们。
答案 1 :(得分:0)
简单地关闭窗口时,会话不会结束。会话到期时结束。 ASP.NET无法知道用户是否关闭窗口。见MSDN on SessionStateModule.End Event
有关详细说明,请参阅this answer。
在我的头脑中,您可以做的是检测用户何时关闭窗口,例如在jQuery中使用unload()事件,并向Web服务发送请求,然后结束会话。