Use of application locl and unlock for checking online user?
<p>In Global.asax file I have created code for checking online user like,</p>

<pre><code>  void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    Application["OnlineUsers"] = 0;

}
void Session_Start(object sender, EventArgs e)
{
    // Code that runs when a new session is started
    Application.Lock();
    Application["OnlineUsers"] = (int)Application["OnlineUsers"] + 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["OnlineUsers"] = (int)Application["OnlineUsers"] - 1;
    Application.UnLock();
}
</code></pre>

<p><strong>In Aspx.cs</strong></p>

<pre><code>Response.Write(Application["OnlineUsers"].ToString());
</code></pre>

<p>Here i got no of online user..But i want to know about that what is the use of Application.Lock() and UnLock(); methods?</p>
