I will explain how to count number of online users of website in asp.net using C#
To get number of online visitors for website we need to use methods in Global.asax file for that first add Global.asax file in your application
Open Visual Studio ->> Create New Website ->> Right click on Solution Explorer -->> Select Add New Item -->> Select Global Application Class file and click OK
Now open Global.asax file and write the code like as shown below
Global.aspx
In above code Application_Start event will raise only once when application starts and Session_Start event will raise for every postback operation and Session_End event is used to reduce count of users when session ends. If you want to know more about it check this What is Global.asax file and uses of it
Here Session_End event will work only when we set sessionstate mode to InProc in web.config file for that reason we need write code in web.config file as shown below
open any .aspx page give the below HTML code:
To get number of online visitors for website we need to use methods in Global.asax file for that first add Global.asax file in your application
Open Visual Studio ->> Create New Website ->> Right click on Solution Explorer -->> Select Add New Item -->> Select Global Application Class file and click OK
Now open Global.asax file and write the code like as shown below
Global.aspx
<%@ Application Language="C#"
%>
<script runat="server">
void Application_Start(object
sender, EventArgs e)
{
// Code that runs on application
startup
Application["OnlineVisitors"]
= 0;
}
void Application_End(object
sender, EventArgs e)
{
//
Code that runs on application shutdown
}
void Application_Error(object
sender, EventArgs e)
{
// Code that runs when an
unhandled error occurs
}
void Session_Start(object
sender, EventArgs e)
{
// Code that runs when a new
session is started
Application.Lock();
Application["OnlineVisitors"]
= (int)Application["OnlineVisitors"]
+ 1;
Application.UnLock();
}
void Session_End(object
sender, EventArgs e)
{
// Code that runs when a session
ends.
// Note: The Session_End event is
raised only when the sessionstate mode
// is set to InProc in the
Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not
raised.
Application.Lock();
Application["OnlineVisitors"]
= (int)Application["OnlineVisitors"]
- 1;
Application.UnLock();
}
</script>In above code Application_Start event will raise only once when application starts and Session_Start event will raise for every postback operation and Session_End event is used to reduce count of users when session ends. If you want to know more about it check this What is Global.asax file and uses of it
Here Session_End event will work only when we set sessionstate mode to InProc in web.config file for that reason we need write code in web.config file as shown below
<system.web>
<sessionState mode="InProc" cookieless="false" timeout="20"/>
</system.web>open any .aspx page give the below HTML code:
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"
runat="server">
<title></title>
</head>
<body>
<form id="form1"
runat="server">
<table>
<tr>
<td>
<b>No
of Users Online:</b>
</td>
<td style="color:Red">
<%=Application["OnlineVisitors"].ToString()%>
</td>
</tr>
</table>
</form>
</body>
</html>
No comments:
Post a Comment