ASP.net中的Session_start和End事件问题:
假如用户只打开一页,当用户关闭浏览器(该页)时,Session_end事件为何不执行?难道用户关闭浏览器窗口时,SESSION并不END?
测试过程如下:
'Global.asax.vb中:
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在应用程序启动时激发
Application("n") = 0
End Sub
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在会话启动时激发
Application.Lock()
Application("n") += 1
Application.UnLock()
End Sub
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' 在会话结束时激发
Application.Lock()
Application("n") -=1
Application.UnLock()
End Sub
'webform1中的代码:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Label1.Text = Application("n")
End Sub
测试情况:
Webform1.aspx运行时,会在页面上显示Label1.Text ,每启动一个浏览器查看该文件则Label1.Text会从1开始递增1(正常)。
但每关闭一个网页,Label1.Text却没减1(刷新打开的网页无变化),用户关闭浏览器时Session_End事件怎么会不执行?错在什么地方啊?高人请指点一下啊,谢谢。。。