Session_OnEnd事件不会自动触发 [英] Session_OnEnd event not fired automatically

查看:117
本文介绍了Session_OnEnd事件不会自动触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么在关闭浏览器时未调用session_end事件?

关闭浏览器而不使用session.abandon()时,无法调用session_End事件.我的代码如下:

global.asax页面:

Why is the session_end event not getting called when we close a browser?

I am unable to call the session_End event when I close the browser without using session.abandon(). I have my code below:

global.asax page:

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
  Try
    Dim tracker As SessionTracker
    tracker = Session("Tracker")
    Console.WriteLine("sasikumar")
    'kick out if there is no session data
    If IsNothing(tracker) Then
      Exit Sub
    Else
      MailUtil.SendSessionEndAlert(tracker)
      Console.WriteLine("ramuksasi")
    End If
  Catch
  End Try
End Sub


MailUtil.SendSessionEndAlert(tracker)页面:


MailUtil.SendSessionEndAlert(tracker) page:

Private Shared Function createTrackerMessageBody(ByVal tracker As SessionTracker) As String
  Dim Host, Referrer, UserAgent, Crawler, Browser, URL1, VisitCount, OriginalReferrer, OriginalURL As String
  URL1 = tracker.SessionURL
  Browser = tracker.Browser.Browser
  Crawler = tracker.Browser.Crawler
  Referrer = tracker.SessionReferrer
  VisitCount = tracker.VisitCount
  OriginalReferrer = tracker.OriginalReferrer
  OriginalURL = tracker.OriginalURL
  Host = tracker.SessionUserHostAddress
  UserAgent = tracker.SessionUserAgent
  Return 0
End Function


您能帮我如何调用session_End事件吗?

提前谢谢.

问候,

Sasikumar


Can you help me how to call the session_End event?

Thanks in advance.

Regards,

Sasikumar

推荐答案

关闭时,浏览器会话未结束.
通常是您上一次在网站上活动后20分钟(默认IIS设置).
因此,一切正常:-)
When you close your browser session is not ended.
Usually it is 20 minutes (default IIS settings) after you last activity on the website.
So everything is normal :-)


默认情况下,它归结为:
"Session_OnEnd事件发生在使用Session.Abandon方法放弃当前Session或超时时.默认情况下,这是从应用程序最后一次请求页面之后的20分钟,尽管可以可以通过设置Session.Timeout属性或通过编辑注册表来进行更改."



您可以在这里阅读有关信息:
http://msdn.microsoft.com/en-us/library/ms952658 [ ^ ]

祝你好运!
It''s by default and comes down to:
"The Session_OnEnd event occurs either when a current Session is abandoned by using the Session.Abandon method, or when it times out. By default this is 20 minutes after the last request for a page from the application, though this can be changed either by setting the Session.Timeout property or by editing the registry."



You can read about it here:
http://msdn.microsoft.com/en-us/library/ms952658[^]

Good luck!


这篇关于Session_OnEnd事件不会自动触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆