ASP.Net

Count Online Visitor in ASP.Net & VB.Net

0
(0)

Place the following code in Global.asax file. Here, we track the active Sessions for our web application. There are three subroutines into which we will be looking to do this – Application_OnStart, Session_OnStart, Session_OnEnd.

Step-1 :

In the Application_OnStart subroutine, we have to set the user count to 0, when the server starts the application.

Sub Application_OnStart (Sender as Object, E as EventArgs)
     ' Set user count to 0 when start the application 
     Application("ActiveUsers") = 0
 End Sub

Step-2 :

In the Session_OnStart subroutine, we have to increament the Activeuser by 1:

Sub Session_OnStart (Sender as Object, E as EventArgs)
      Application.Lock 
      Application("ActiveUsers") = Cint(Application("ActiveUsers")) + 1 
      Application.UnLock
 End Sub

In this case you have to set Timeout – you don’t need to put anything here, but the default Timeout is 20 minutes, so you can change it depending on the needs of your particular application.

To set the session start time, we add (Session(“Start”) = Now). Basically, when the user hits the site and opens a web page (asp.net page), at the time of opening the page, the session starts. Next, we increase the active visitors count when we start the session (Application(“ActiveUsers”) = Cint(Application(“ActiveUsers”)) + 1 ). The Application lock & unlock adds more stability to the counting.

Step-3 :

we must decrement the number of Active Users on the basis of online sessions in the Session_OnEnd subroutine:

 Sub Session_OnEnd(Sender as Object, E as EventArgs)
     Application.Lock 
     Application("ActiveUsers") = Cint(Application("ActiveUsers")) - 1 
     Application.UnLock
 End Sub

Step-4 :

Then you can place the following code to access the Application(“ActiveUsers”) in .aspx file

<% 
Dim intNumber as Integer
intNumber =Application("ActiveUsers")
response.write (intNumber ) 
%> Currently Online

How useful was this post?

Click on a star to rate it!

Leave a Reply

Your email address will not be published. Required fields are marked *