470,602 Members | 1,546 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 470,602 developers. It's quick & easy.

Capturing Session End...

Howdy,

I'm trying to capture the session end event. I put a spot of code in the
Session_End event in the Global.asax.vb file. The function simply writes to
a database table logging the event. I have the same function in the
Session_Begin and the Application events. I am capturing the Session
beginning and the App begin and end but no Session end. My end goal is to
capture some session objects before it dies and log it.

Thanks,

David Lozzi

Oct 1 '07 #1
7 2772
"David Lozzi" <dl****@nospam.nospamwrote in message
news:DC**********************************@microsof t.com...
I'm trying to capture the session end event. I put a spot of code in the
Session_End event in the Global.asax.vb file. The function simply writes
to a database table logging the event. I have the same function in the
Session_Begin and the Application events. I am capturing the Session
beginning and the App begin and end but no Session end. My end goal is to
capture some session objects before it dies and log it.
1) What are you using for session management? If you're not using inproc
sessions, Session_End won't fire...

2) Are you certain there isn't an error in your Session_End code...?

3) Are you absolutely certain that Session_End isn't firing...? How are you
calling it? Obviously, Session_End doesn't fire when you close the client
browser - you have to make it happen manually, or let it happen
automatically when the session eventually times out...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 1 '07 #2
On Oct 1, 7:58 pm, "David Lozzi" <dlo...@nospam.nospamwrote:
Howdy,

I'm trying to capture the session end event. I put a spot of code in the
Session_End event in the Global.asax.vb file. The function simply writes to
a database table logging the event. I have the same function in the
Session_Begin and the Application events. I am capturing the Session
beginning and the App begin and end but no Session end. My end goal is to
capture some session objects before it dies and log it.

Thanks,

David Lozzi
http://groups.google.com/group/micro...&q=session_end

Oct 1 '07 #3
The difference between Sesssion_Begin and Session_End is that
Response/Request objects available in first event and null in another event.

so show us a code and do not say it's the same.....

George.
"David Lozzi" <dl****@nospam.nospamwrote in message
news:DC**********************************@microsof t.com...
Howdy,

I'm trying to capture the session end event. I put a spot of code in the
Session_End event in the Global.asax.vb file. The function simply writes
to a database table logging the event. I have the same function in the
Session_Begin and the Application events. I am capturing the Session
beginning and the App begin and end but no Session end. My end goal is to
capture some session objects before it dies and log it.

Thanks,

David Lozzi

Oct 1 '07 #4
Hi Mark,

1. Using SQL.
2. I am as sure as I can be. See script below
3. I'm assuming it will occur when it times out.

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the session ends
common.SessionLog(3)
End Sub

Public Shared Function SessionLog(ByVal LogType As Integer)
Dim ID As String = ""
Dim Parts As String = ""
Dim SessionID As String = ""
Dim customer As String = ""
Dim email As String = ""

Dim uniSession As UniSession = Nothing
Try
Select Case LogType
Case 1
' Application Start
email = "admin"
ID = LogType & "_AppStart_" & IConvD2(Now) & "_" &
IConvMTS(Now) & "_" & CompanyCode
Case 2
' Session Start
SessionID = Current.Session.SessionID.ToString
ID = LogType & "_SessStart_" & SessionID & "_" &
IConvD2(Now) & "_" & IConvMTS(Now) & "_" & CompanyCode
Case 3
' Session End
SessionID = Current.Session.SessionID.ToString
customer = Current.Session("CustomerNum")
email = Current.Session("CustomerEmail")
Dim bag As ArrayList = Current.Session("ShoppingBag")
For Each i As BagItem In bag
Parts &= i.PartNo & "-" & i.Name & " :: "
Next
ID = LogType & "_SessEnd_" & SessionID & "_" &
IConvD2(Now) & "_" & IConvMTS(Now) & "_" & CompanyCode

Case 4
' Application End
email = "admin"
ID = LogType & "_AppEnd_" & IConvD2(Now) & "_" &
IConvMTS(Now) & "_" & CompanyCode
End Select

uniSession = UOOpenSession()

Dim uf As UniFile = uniSession.CreateUniFile("BAG")
With uf
.RecordID = ID
.WriteField(1, Now)
.WriteField(2, Current.Session.SessionID)
.WriteField(3, CompanyCode)
.WriteField(4, Parts)
.WriteField(5, Current.Session("CustomerEmail"))
.WriteField(6, customer)
.Close()
End With
Return True
Catch ex As Exception
UOCloseSession(uniSession)
Dim msg As New MailMessage
msg.From = New
MailAddress(ConfigurationManager.AppSettings("Erro rEmailFrom"))

Dim toEmails() As String =
ConfigurationManager.AppSettings("ErrorEmailTo").S plit(";")
For i As Integer = 0 To toEmails.Length - 1
msg.To.Add(toEmails(i))
Next

msg.Subject = "Error on " &
Current.Request.ServerVariables("SERVER_NAME") & " Website"
msg.IsBodyHtml = True

msg.Body = "<font face=verdana size='2'><b>Error on " &
Current.Request.ServerVariables("SERVER_NAME") & " Website!</b><br>" & Now()
& "<BR><br>" & _
"<b>Page Name:</b>common.vb<br>" & _
"<b>URL:</b>" &
Current.Request.ServerVariables("URL") & "<br>" & _
"<b>Function Name:</bSessionLog<br><br>" & _
"<b>Error Message:</b" & ex.ToString
Dim smtpClient As New SmtpClient
smtpClient.Host = ConfigurationManager.AppSettings("SMTPServer")
smtpClient.Send(msg)
Return False
Finally
UOCloseSession(uniSession)
End Try

End Function

"Mark Rae [MVP]" <ma**@markNOSPAMrae.netwrote in message
news:eq**************@TK2MSFTNGP06.phx.gbl...
"David Lozzi" <dl****@nospam.nospamwrote in message
news:DC**********************************@microsof t.com...
>I'm trying to capture the session end event. I put a spot of code in the
Session_End event in the Global.asax.vb file. The function simply writes
to a database table logging the event. I have the same function in the
Session_Begin and the Application events. I am capturing the Session
beginning and the App begin and end but no Session end. My end goal is to
capture some session objects before it dies and log it.

1) What are you using for session management? If you're not using inproc
sessions, Session_End won't fire...

2) Are you certain there isn't an error in your Session_End code...?

3) Are you absolutely certain that Session_End isn't firing...? How are
you calling it? Obviously, Session_End doesn't fire when you close the
client browser - you have to make it happen manually, or let it happen
automatically when the session eventually times out...
--
Mark Rae
ASP.NET MVP
http://www.markrae.net
Oct 2 '07 #5
"David Lozzi" <dl****@nospam.nospamwrote in message
news:65**********************************@microsof t.com...
>1) What are you using for session management? If you're not using inproc
sessions, Session_End won't fire...
1. Using SQL.
Don't need to look any further than that, then...

Session_End() only fires for inproc sessions...

This hasn't changed since the last time you asked... :-)
http://www.thescripts.com/forum/thread574994.html
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 2 '07 #6
D'OH -- I thought I asked this once before.... Well, then, this is
embarassing...

What are my options then? I need to capture an abandoned session's objects.
Also, how does a session never end when it's on SQL? Or does it and it
doesn't tell IIS/Web site about it?

Thanks,
"Mark Rae [MVP]" <ma**@markNOSPAMrae.netwrote in message
news:%2****************@TK2MSFTNGP04.phx.gbl...
"David Lozzi" <dl****@nospam.nospamwrote in message
news:65**********************************@microsof t.com...
>>1) What are you using for session management? If you're not using inproc
sessions, Session_End won't fire...
>1. Using SQL.

Don't need to look any further than that, then...

Session_End() only fires for inproc sessions...

This hasn't changed since the last time you asked... :-)
http://www.thescripts.com/forum/thread574994.html
--
Mark Rae
ASP.NET MVP
http://www.markrae.net
Oct 2 '07 #7
"David Lozzi" <dl****@nospam.nospamwrote in message
news:4C**********************************@microsof t.com...
D'OH -- I thought I asked this once before.... Well, then, this is
embarassing...
Happens to the best of us... :-)
What are my options then? I need to capture an abandoned session's
objects.
This may help:
http://www.velocityreviews.com/forum...sion-mode.html
Also, how does a session never end when it's on SQL?
It does end.
Or does it and it doesn't tell IIS/Web site about it?
Correct.
--
Mark Rae
ASP.NET MVP
http://www.markrae.net

Oct 2 '07 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Geoff Soper | last post: by
5 posts views Thread by ashutosh.bhardwaj1980 | last post: by
8 posts views Thread by Zvonko | last post: by
33 posts views Thread by Joerg Schuster | last post: by
17 posts views Thread by Lauren Wilson | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.