开发者

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜