473,782 Members | 2,458 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Global.asax: Session_End() Behavior

Hi. I am trying to maintain a list of people who are currently "online" in
SQL. I do this by adding a simple entry to a simple PeopleOnline table
whenever someone logs in to my site.

If they manually log OUT of the site, I have no problem deleting them from
the PeopleOnline table. But if they just close the browser, I was assuming
I'd have to use the Session_End() event in Global.asax even though I know
that this will only occur once the user's session has timed out.

But I have two questions about this:

1. When this even occurs, can I still access that user's Session? In other
words, inside the Session_End() function, can I reference the Session[]
object?

2. During development from VS2005, how do I test this? The problem is that
when I close the broswer that I use from within VS, everything sort of dies
so I don't think that the Session_End() ever occurs. How can I debug?

Thanks.

Alex
Jun 2 '07
12 10700
Juan T. Llibre wrote:
re:
!There is hardly any reason to create any session variables at that stage

You mean : "there is *no* reason to create any session variables at that stage",
No, I don't.
primarily because you can't *do anything* with a new session variable at that stage.
Of course you can do something with a session variable. There is hardly
any reason, though.
re:
!there is nothing that prevents it

Have you actually tried to do something useful with a new
session variable you have succeed in creating at that stage ?
No, I haven't. I don't need to try every single thing that I discuss in
newsgroups to know how it works. Sometimes I even answer questions about
things that I didn't even knew existed before I read the question...
If you can provide an example, maybe I'll have an easier time understanding your point.
ShoppingCart.Re move(); // uses session["cartId"]
session["cartId"] = session["secondaryCartI d"];
ShoppingCart.Re move();

--
Göran Andersson
_____
http://www.guffa.com
Jun 4 '07 #11
re:
!ShoppingCart.R emove(); // uses session["cartId"]
!session["cartId"] = session["secondaryCartI d"];
!ShoppingCart.R emove();

You want that code to run every time a session ends ?

What will you do with session["cartId"] , now that you have created it ?

Juan T. Llibre, asp.net MVP
asp.net faq : http://asp.net.do/faq/
foros de asp.net, en español : http://asp.net.do/foros/
=============== =============== ========
"Göran Andersson" <gu***@guffa.co mwrote in message news:%2******** *******@TK2MSFT NGP05.phx.gbl.. .
Juan T. Llibre wrote:
>re:
!There is hardly any reason to create any session variables at that stage

You mean : "there is *no* reason to create any session variables at that stage",

No, I don't.
>primarily because you can't *do anything* with a new session variable at that stage.

Of course you can do something with a session variable. There is hardly any reason, though.
>re:
!there is nothing that prevents it

Have you actually tried to do something useful with a new
session variable you have succeed in creating at that stage ?

No, I haven't. I don't need to try every single thing that I discuss in newsgroups to know how it
works. Sometimes I even answer questions about things that I didn't even knew existed before I
read the question...
>If you can provide an example, maybe I'll have an easier time understanding your point.

ShoppingCart.Re move(); // uses session["cartId"]
session["cartId"] = session["secondaryCartI d"];
ShoppingCart.Re move();

--
Göran Andersson
_____
http://www.guffa.com

Jun 4 '07 #12
Juan T. Llibre wrote:
re:
!ShoppingCart.R emove(); // uses session["cartId"]
!session["cartId"] = session["secondaryCartI d"];
!ShoppingCart.R emove();

You want that code to run every time a session ends ?

What will you do with session["cartId"] , now that you have created it ?
You missed the comment in the code? Ok, will it be clearer if I rewrite
the example like this?

session["UsedByRemo ve"] = session["CartId1"];
ShoppingCart.Re move();
session["UsedByRemo ve"] = session["CartId2"];
ShoppingCart.Re move();

--
Göran Andersson
_____
http://www.guffa.com
Jun 4 '07 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
515
by: Phil Lamey | last post by:
Hi All, I have the following code but for some reason I cannot get the Session_OnEnd event to fire. I am trying to limit the amount of connections a browser session can have. Where the application is a virtual directory. Any ideas? ------------
1
4968
by: Steve | last post by:
I am trying to call a file delete function from inside Session_End in Global.asax.cs. However, everytime I step into my delete function from Session_End it jumps to the catch statement and I get the "Object reference not set to an instance of an object." I don't understand why it is happening. I would appreciate any help, thanks. Global.asax.cs using TheFile = Namespace.TheFile; private TheFile sessionEnd = new TheFile();
10
6770
by: David P. Donahue | last post by:
When I wrote websites in VB .NET, I would often put functions in Global for all the pages to call. Now, in C#, doing so results in "references to non-static objects" and whatnot. I realize what that means and all, but what I'm wondering is what's the best way around it? Say, for example, I want a function that takes a username and a password and returns true or false if it's a successful login, and I want any page or usercontrol in the...
4
11964
by: Max | last post by:
I've noticed some procedures don't run in the global.asax when you'd expect them to. I've rebuilt and set break points, but Application_Start just isn't firing today. Is there some configuration that prevents this from happening? I've never gotten Session_End to fire either. -M
2
4733
by: Bela | last post by:
Hello I was wondering if someone could help me out with a Session_End problem in my Global.asax. I've tried everything, and still no success Here is the scenario: sessionstate is set to InProc. I have timeout set to 1 min I have a variable in session_start that is incremented each new session, and it is then decremented in Session_End. I use this variable on a web form to show current users online. All of this works just fine, so I...
4
9181
by: Kim Bach Petersen | last post by:
I would like to record user behavior data stored in session variables. Since the data is modified throughout each session it seemed obvious to store the data when the session terminates - using Session_End in global.asax. Problem is, apparently the session-object terminating cannot be accessed from Session_End in global.asax!? What's the meaning of Session_End if you don't know which session is
9
2390
by: tshad | last post by:
I have an example I copied from "programming asp.net" (o'reilly) and can't seem to get the Sub (writefile) to execute. It displays all the response.write lines that are called directly, but not any of the response.write lines from inside the sub. ******************************************* <%@ Application Language="VB" %> <script runat="server">
7
6249
by: teo | last post by:
I need to use the 'Server.MapPath' function in the 'Session_End' event of the Global.asax file (to reach a folder and the clean some temporary files up), but it doesn't work: Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) Dim myPath As String = (Server.MapPath("../public/MyFolder/") End Sub
3
8650
by: teo | last post by:
I have two .aspx pages they use two different Global.asax files when I "Publish" the first .aspx page, its Global.asax is transformed in App_global.asax.compiled App_global.asax.dll to put in the Bin folder
0
9641
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9480
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
1
10080
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9944
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8968
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7494
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6735
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5511
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3643
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.