Global .asax file-
- <%@ Application Language="C#" %>
- <script runat="server">
- void Application_Start(object sender, EventArgs e)
- {
- // Code that runs on application startup
- Application["TotalOnlineUsers"] = 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["TotalOnlineUsers"] = (int)Application["TotalOnlineUsers"] + 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["TotalOnlineUsers"] = (int)Application["TotalOnlineUsers"] - 1;
- Application.UnLock();
- }
- </script>
- <system.web>
- <sessionState mode="InProc" cookieless="false" timeout="20"></sessionState>
- </system.web>
- <form id="form1" runat="server">
- <div>
- <p>No. of Online Users:<asp:Label ID="Label1" runat="server" Text="Label" ForeColor="#CC0000"></asp:Label></p>
- </div>
- </form>
- protected void Page_Load(object sender, EventArgs e)
- {
- Label1.Text = Application["TotalOnlineUsers"].ToString();
- }