C#中统计在线人数的web程序
1个回答
展开全部
在Global.asax全局应用程序类中,设置当应用程序启动时初始化计数器,代码如下。
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//初始化
Application["counter"] = 0;
}
在新会话启动时,实现计数器加1,代码如下。
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
//对Application加锁以防并行性
Application.Lock();
//增加一个在线人数
Application["counter"] = (int)Application["counter"] + 1;
//解锁
Application.UnLock();
}
在会话结束时,实现计数器减1,代码如下。
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//对Application加锁以防并行性
Application.Lock();
//减少一个在线人数
Application["counter"] = (int)Application["counter"] - 1;
//解锁
Application.UnLock();
}
在主页Default.aspx第一次加载时,将Application[“counter”]赋给Label.text,实现在界面上显示在线人数,其代码如下。
Label2.Text=Application["counter"].ToString ();
void Application_Start(object sender, EventArgs e)
{
// 在应用程序启动时运行的代码
//初始化
Application["counter"] = 0;
}
在新会话启动时,实现计数器加1,代码如下。
void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
//对Application加锁以防并行性
Application.Lock();
//增加一个在线人数
Application["counter"] = (int)Application["counter"] + 1;
//解锁
Application.UnLock();
}
在会话结束时,实现计数器减1,代码如下。
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
//对Application加锁以防并行性
Application.Lock();
//减少一个在线人数
Application["counter"] = (int)Application["counter"] - 1;
//解锁
Application.UnLock();
}
在主页Default.aspx第一次加载时,将Application[“counter”]赋给Label.text,实现在界面上显示在线人数,其代码如下。
Label2.Text=Application["counter"].ToString ();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询