When you think ASP, think...
Recent Articles xml
All Articles
ASP.NET Articles
Related Web Technologies
User Tips!
Coding Tips
spgif spgif

Sample Chapters
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
spgif spgif
ASP ASP.NET ASP FAQs Feedback topnav-right
Print this page.
Published: Sunday, June 13, 1999

How Many People Are on your Site Right Now?
By Joćo Vieira

I think this one is really easy, and even if you never used global.asa don't worry, just

- continued -

put the one I have at this page for download at the root of your page (e.g. www.yourpage.com/global.asa). If you are unfamiliar with global.asa, be sure to also check out this article on Global.asa. Now all you need is to keep track of a counter as each new user enters your page. You'll also need to decrement your counter when someone leaves, and have code to display the current count.

Explaining Application Variables
      Application variables work like session variables except that the value of Application variables are the same for all the users, and the values of session variables are different for each user. An instance of every session variable is created for every user. Only one instance of all Application variables is created when the server starts up. Hopefully with the example you will understand better.

File: Global.asa

Sub Application_OnStart
        ' Sub Application_OnStart is the procedure that fires
        ' everytime your server starts up.

        ' Here you want to define the time that the user
	' will be valid as on-line.  (If no activity occurs
	' for x minutes, then log the user off (erase his
	' session variable instances))
        Session.Timeout = 3 

        ' The .Lock method locks the Application variable so that 
	' you can work on it.  If you don't lock it there won't be
	' any changes on the variable "WhosOn"

        ' Start the variable at 0, 
        Application("WhosOn") = 0

        ' You now need to unlock the application
End Sub
Sub Session_OnStart
        ' Sub Session_OnStart is the procedure that works
        ' everytime a new user enters in your page

        ' Here is the place where you increment the number
	' of users on your page (don't forget to Lock/Unlock
	' your Application variable!) :)
	Application("WhosOn") = Application("WhosOn") + 1
End Sub
Sub Session_OnEnd
        ' Sub Session_OnEnd is the procedure that works
        ' everytime a user quits the page, this is defined n 
	' minutes after he quits.
        ' This n minutes are defined by the Session:Timeout in
	' Sub Application_OnStart

        ' So... when a user quits there will be one less user, so we 
        ' decrement one on the "WhosOn" variable (don't
	' forget to Lock/Unlock your application variable!  :)
	Application("WhosOn") = Application("WhosOn") - 1
End Sub


File: main.asp

We'll,... after lots of research I made this code that show the users that are seeing your page on real-time by getting the info from the application variable...

   response.write "Are Now " & Application("WhosOn") & " users at this page."

Happy Programming!

João Vieira BIO: (email me!)
- Age : 23
- Student And worker (tryin' to finish university, on the last year of the graduation)
- Workin' now at NetGate Portugal
- Programming little stuff since 1989
- Programming HTML since 1996
- Programming JavaScript since 1997, made some experiences with Java.
- Programming ASPs since the Summer of 1997 (yeap, I didn't had nothing to do. Now I love it.)
- Programming ActiveX since 1998
- Webmaster of www.joaovieira.com

ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article