asp.net mvc 项目如何统计在线人数?
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
2个回答
展开全部
统计在线人数,你就需要对不同IP访问你的网站的人记录新session +1一次
如果这个人退出了,会话关闭,session关闭,-1
写在Globle里
protected void Application_Start(Object sender, EventArgs e)//当前应用程序启动这件事会发生
{
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select Count(*) from UserInfo", con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
Application["total"] = count;//Application是个全局变量,每个会话都可对他操作
Application["online"] = 0;
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
protected void Session_Start(Object sender, EventArgs e)//客户端一连接到服务器上,这个事件就会发生
{
Session.Timeout = 1;
Application.Lock();//锁定后,只有这个Session能够会话
Application["total"] = (int)Application["total"] + 1;
Application["online"] = (int)Application["online"] + 1;
Application.UnLock();//会话完毕后解锁
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["online"] = (int)Application["online"] - 1;
Application.UnLock();
}
如果这个人退出了,会话关闭,session关闭,-1
写在Globle里
protected void Application_Start(Object sender, EventArgs e)//当前应用程序启动这件事会发生
{
SqlConnection con = new SqlConnection(connectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select Count(*) from UserInfo", con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
Application["total"] = count;//Application是个全局变量,每个会话都可对他操作
Application["online"] = 0;
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
protected void Session_Start(Object sender, EventArgs e)//客户端一连接到服务器上,这个事件就会发生
{
Session.Timeout = 1;
Application.Lock();//锁定后,只有这个Session能够会话
Application["total"] = (int)Application["total"] + 1;
Application["online"] = (int)Application["online"] + 1;
Application.UnLock();//会话完毕后解锁
}
protected void Session_End(Object sender, EventArgs e)
{
Application.Lock();
Application["online"] = (int)Application["online"] - 1;
Application.UnLock();
}
追问
这个是根据Session的状态来统计的吧?是不是不是实时的?
追答
这个都不可能做到实时的
无论怎么做
除非做一个 心跳设计
每秒自动 抛数据
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-04-08
展开全部
项目如何统计在线人数,这样统计。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询