Use of application locl and unlock for checking online user?
In Global.asax file I have created code for checking online user like,
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();
}
In Aspx.cs
Resp开发者_高级运维onse.Write(Application["OnlineUsers"].ToString());
Here i got no of online user..But i want to know about that what is the use of Application.Lock() and UnLock(); methods?
As per MSDN (HttpApplicationState.Lock Method): Lock/Unlock is supposed to be used when you need to change more than one value at the same time (say transaction, like bank operations deposit/withdraw) to prevent other sessions from impacting the state
精彩评论