大家看看这个SESSION END事件为何不发生?!

幽幽浮浮 2005-06-20 09:07:03
我写了一小段统计在线人数和总访问人数的源码:
===========aspx.vb============
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
Me.Online.Text = "当前在线用户有<font color=red>" + CType(Application("userNum_onLine"), String) + "</font>位"
Me.Visted.Text = "您是本站的第<font color=red>" + CType(Application("userNum_visited"), String) + "</font> 位访问用户 "
End Sub
====================================
===========Global.asax.vb===========
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在应用程序启动时激发
Application("userNum_online") = 0
Dim objstream As System.IO.StreamReader = System.IO.File.OpenText(Server.MapPath("userstatic.txt"))
Dim countstring As String
countstring = objstream.ReadLine()
'判断是否为空。如有空,默认为“1”
If countstring = "" Then countstring = "0"
Application("userNum_visited") = CType(countstring, Integer)
End Sub

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
' 在会话启动时激发
Application.Lock()
Application("userNum_online") = CType(Application("userNum_online"), Integer) + 1
Application("userNum_visited") = CType(Application("userNum_visited"), Integer) + 1
Application.UnLock()
End Sub

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' 在会话结束时激发
Application.Lock()
Application("userNum_online") = CType(Application("userNum_online"), Integer) - 1
Application.UnLock()
End Sub

Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' 在应用程序结束时激发
MsgBox("")
Dim objwriter As New System.IO.StreamWriter(Server.MapPath("userstatic.txt"))
objwriter.WriteLine(Application("userNum_visited"))
End Sub
===============================================================
其中的Session_End、Application_End,为何在调试和运行环境中都没有发生啊?!
MSDN上说:Session_OnEnd 事件仅支持进程内会话状态模式。如果您使用状态服务器或 SQL Server 模式,则不会引发该事件。
可是我们默认的不就是进程内会话状态模式嘛!
各位帮忙分析下~~~谢谢了!!
...全文
124 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧