asp.net mvc 项目如何统计在线人数?

asp.net mvc 项目如何统计在线人数?,第1张

统计在线人数,你就需要对不同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()

}

一般来说首页的显示的数据比较多而且很杂,此时就会出现多次的数据读取。此时可以采用

1.页面静态化处理 将首页生成静态页面

2.使用缓存 只用当页面第一次运行时才动态执行action中的处理和页面的脚本,当页面生成成 功时就缓存起来。

3.在使用1或2的情况下适当的也可以使用异步ajax方式对页面进行局部刷新。

样一来访问网站首页的速度也就快了。

京东商城就是采用成html 的方式。

这里提供一些思路,希望对你有帮助!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/308501.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存