By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
445,885 Members | 1,445 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 445,885 IT Pros & Developers. It's quick & easy.

How to end a session when the user closes the browser?

P: n/a
Hi everyone,

I need some help (may be in the form of some sample code) for the subject
question.

I have an ASP.NET/C# application. I need to do quite a few tasks when the
session ends. I don't want to depend on the session timeout factor since it
may end too soon or it may hang around too long. I can't find any event
that fires when the browser closes. The Session_End event handler in the
Global.asax does not execute until the timeout value expires. Also, when it
does execute the Session_end, it seems that the session has already ended
and so, I have no access to any of the session variables I was holding onto.

Can anybody tell me the server side sequence of events and their handlers
that get called when the user closes a browser? Does the browser inform the
server that it is closing, so that I can do my cleanup?

Any help is highly appreciated.

Babu.
Nov 19 '05 #1
Share this Question
Share on Google+
5 Replies


P: n/a

Unfortunatly, nothing happens on the server when the browser is closed.
I'm afraid that you can't close the session without waiting the timeout and
the "Session_End" event.

Lionel.
"news.microsoft.com" <ba************@yahoo.com> a écrit dans le message de
news: uB*************@TK2MSFTNGP15.phx.gbl...
Hi everyone,

I need some help (may be in the form of some sample code) for the subject
question.

I have an ASP.NET/C# application. I need to do quite a few tasks when the
session ends. I don't want to depend on the session timeout factor since
it may end too soon or it may hang around too long. I can't find any
event that fires when the browser closes. The Session_End event handler
in the Global.asax does not execute until the timeout value expires.
Also, when it does execute the Session_end, it seems that the session has
already ended and so, I have no access to any of the session variables I
was holding onto.

Can anybody tell me the server side sequence of events and their handlers
that get called when the user closes a browser? Does the browser inform
the server that it is closing, so that I can do my cleanup?

Any help is highly appreciated.

Babu.

Nov 19 '05 #2

P: n/a
Thanks for the reply, Lionel. That was fast!

OK, then, is there another event that fires before the call to the
Session_End handler in the Global.asax? Because by the time the execution
arrives at this handler, I have no access to any of the Session variables
(It seems that the session has already been removed). If only I could find
an event that fires with the session state intact just before the session
closes.

Babu.

"Lionel LASKE" <ll****@c2s.fr> wrote in message
news:es**************@TK2MSFTNGP14.phx.gbl...

Unfortunatly, nothing happens on the server when the browser is closed.
I'm afraid that you can't close the session without waiting the timeout
and the "Session_End" event.

Lionel.
"news.microsoft.com" <ba************@yahoo.com> a écrit dans le message de
news: uB*************@TK2MSFTNGP15.phx.gbl...
Hi everyone,

I need some help (may be in the form of some sample code) for the subject
question.

I have an ASP.NET/C# application. I need to do quite a few tasks when
the session ends. I don't want to depend on the session timeout factor
since it may end too soon or it may hang around too long. I can't find
any event that fires when the browser closes. The Session_End event
handler in the Global.asax does not execute until the timeout value
expires. Also, when it does execute the Session_end, it seems that the
session has already ended and so, I have no access to any of the session
variables I was holding onto.

Can anybody tell me the server side sequence of events and their handlers
that get called when the user closes a browser? Does the browser inform
the server that it is closing, so that I can do my cleanup?

Any help is highly appreciated.

Babu.


Nov 19 '05 #3

P: n/a
re:
Unfortunatly, nothing happens on the server when the browser is closed.
Right.

re: I'm afraid that you can't close the session without waiting the timeout
and the "Session_End" event.
You can programmatically call Session.abandon
to force the end of a session at any time.

That won't help Babu at all, but ending the session *can* be
done without the need to wait for the timeout or Session_End.

One way to persist session values, so they're restored the next
time the visitor returns, would be to dump the session values into
a cookie named with the SessionID. Each time you add a Session
variable, you add a cookie key with the variable's value.

When the user returns, reading the cookie would enable
you to set the same values to the current session.

Alternately, you could dump the session values into a db table,
using the SessionID as the key. Then, reading a simple cookie
set with a key name = SessionID would allow you to set the
current session values to the previous session values.

Why you'd want to do that beats me, but it's not too hard to do.

Juan T. Llibre
ASP.NET MVP
===========
"Lionel LASKE" <ll****@c2s.fr> wrote in message
news:es**************@TK2MSFTNGP14.phx.gbl...
Unfortunatly, nothing happens on the server when the browser is closed.
I'm afraid that you can't close the session without waiting the timeout
and the "Session_End" event.

Lionel.
"news.microsoft.com" <ba************@yahoo.com> a écrit dans le message de
news: uB*************@TK2MSFTNGP15.phx.gbl...
Hi everyone,

I need some help (may be in the form of some sample code) for the subject
question.

I have an ASP.NET/C# application. I need to do quite a few tasks when
the session ends. I don't want to depend on the session timeout factor
since it may end too soon or it may hang around too long. I can't find
any event that fires when the browser closes. The Session_End event
handler in the Global.asax does not execute until the timeout value
expires. Also, when it does execute the Session_end, it seems that the
session has already ended and so, I have no access to any of the session
variables I was holding onto.

Can anybody tell me the server side sequence of events and their handlers
that get called when the user closes a browser? Does the browser inform
the server that it is closing, so that I can do my cleanup?

Any help is highly appreciated.

Babu.


Nov 19 '05 #4

P: n/a
Babu,

You do have some limited possibilities. You can use
Response.IsClientConnected. Google for it to find out how it can help.

Eliyahu

"news.microsoft.com" <ba************@yahoo.com> wrote in message
news:uB*************@TK2MSFTNGP15.phx.gbl...
Hi everyone,

I need some help (may be in the form of some sample code) for the subject
question.

I have an ASP.NET/C# application. I need to do quite a few tasks when the
session ends. I don't want to depend on the session timeout factor since it may end too soon or it may hang around too long. I can't find any event
that fires when the browser closes. The Session_End event handler in the
Global.asax does not execute until the timeout value expires. Also, when it does execute the Session_end, it seems that the session has already ended
and so, I have no access to any of the session variables I was holding onto.
Can anybody tell me the server side sequence of events and their handlers
that get called when the user closes a browser? Does the browser inform the server that it is closing, so that I can do my cleanup?

Any help is highly appreciated.

Babu.

Nov 19 '05 #5

P: n/a

write session.RemoveAll()in the following code
Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
' Fires when the application ends
Session.RemoveAll()
End Sub

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Nov 19 '05 #6

This discussion thread is closed

Replies have been disabled for this discussion.