求救!Global.asax文件里的 Session_End事件为何触发不了!??(高分相送!)

morality 2005-12-13 10:37:43
在 Global.asax 文件里面,Application_Start,Session_Start能够触发,但是为何Session_End和Application_End事件确触发不了,里面写的代码无法执行!是否需要设置Web.Config等配置文件啊!???? 急救!
...全文
337 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jacky125 2005-12-13
  • 打赏
  • 举报
回复
Session_End 要等Session过期或者调用Session.Abondon()时才触发该事件
你把Session的结束时间timeout="20"改短一点试一下就可以了
jijl2001 2005-12-13
  • 打赏
  • 举报
回复
fangxinggood(JustACoder)说的很对,不是你关掉客户端窗口就会执行session_end的
xczgb 2005-12-13
  • 打赏
  • 举报
回复
好多星星。。session超时执行Session_End。。session一般默认20分钟。你20分钟前关闭所有网页当然不执行。

机器人 2005-12-13
  • 打赏
  • 举报
回复
服务端怎么知道客户端页面关闭了呢?它还以为,客户端在idle状态呢。服务将会等到Session timeout才触发Session_End。所以,你可以在客户端关闭页面的时候,比如在javascript里,处理
onbeforeunload事件,给服务端发个请求,“说俺下线了。”
morality 2005-12-13
  • 打赏
  • 举报
回复
说明一下:是把所有网页都关闭了,还是执行不了Session_End事件!
morality 2005-12-13
  • 打赏
  • 举报
回复
呵呵,是啊,这些概念都明白!但是,我已经把这个网页都关闭,退出了,按道理这个时候Session是应该自动失效的了呀,就应该触发Session_End事件,可是确没有激活!为什么呀!?

继续顶!
Seeko0 2005-12-13
  • 打赏
  • 举报
回复
Session_End 事件是针对具体用户,Session过期或者调用Session.Abondon()时才触发该事件
Application_End 是指应用程序终止后才触发的事件。

Application_Start是应用程序开始运行是触发的事件。
Session_Start是有用户开发访问应用系统时触发的事件。

把这些概念弄清楚了就不会有这样的问题了。

soilderpeng 2005-12-13
  • 打赏
  • 举报
回复
'<>//=()
Seeko0 2005-12-13
  • 打赏
  • 举报
回复
引用:
[服务端怎么知道客户端页面关闭了呢?它还以为,客户端在idle状态呢。服务将会等到Session timeout才触发Session_End。所以,你可以在客户端关闭页面的时候,比如在javascript里,处理
onbeforeunload事件,给服务端发个请求,“说俺下线了。”]

有道理,我在项目中实际的处理也是这样,通过javascript调用Webserivce,在close的时候发一个隐式的消息给服务器,我下线了。当然一般情况是调用Session.Abondon();

62,046

社区成员

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

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

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

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