星空网 > 软件开发 > ASP.net

网站需要显示在线访问人数

Insus.NET开发这样多网站,客户一直没有这个要求。不过,现在有客户有这样的要求了。

在线用户访问人数,也就是说,要为网站写一个计数器,计数器的初始值为0,网站一开始运行时(Application_Start),就开始统计,当有用户访问时(Session_Start)计数器加1,当用户访问离开时(Session_End)计数器减1。

在网站中,有一个文件叫做Global.asax:
网站需要显示在线访问人数


在程序开始时,定义一个计数器,初始值为0

网站需要显示在线访问人数网站需要显示在线访问人数
 Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)    ' Code that runs on application startup        Application("OnlineVisitors") = 0  End Sub

View Code


当有用户访问网站时:

网站需要显示在线访问人数网站需要显示在线访问人数
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)    ' Code that runs when a new session is started        Application.Lock()    Application("OnlineVisitors") = DirectCast(Application("OnlineVisitors"), Integer) + 1    Application.UnLock()  End Sub

View Code


当用户离开网站时:

网站需要显示在线访问人数网站需要显示在线访问人数
Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)    ' 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("OnlineVisitors") = DirectCast(Application("OnlineVisitors"), Integer) - 1    Application.UnLock()  End Sub

View Code


上面两个Session_Start和Session_End方法中,Insus.NET有使用Application.Lock和Application.Unlock方法,是为了防止多个线程同时改变这个变量,在变更计数器时,先把它Lock起来,更变完毕,再Unlock。


把Global.asax文件保存,在网页中需要显示网站在线访问人数的位置:

 <%= Application("OnlineVisitors").ToString()%>

 
测试测试,测试过程中,Insus.NET有使用了两个浏览器,这样是为了让网站获取不同的进程访问者。而每个浏览器打开不同的窗口,所获得到的数据变量。
网站需要显示在线访问人数

 

 后记:
此种方法,只是做表面功夫,统计不了真正的在线访问人数。如果需要真正实现在线人数统计,还得需要获取访问者的其它参数来一起判断。


 
 

原标题:网站需要显示在线访问人数

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

有物流到马来西亚:https://www.goluckyvip.com/tag/90966.html
发马来西亚物流专线:https://www.goluckyvip.com/tag/90967.html
马来西亚跨境电商物流:https://www.goluckyvip.com/tag/90968.html
马来西亚空运物流专线:https://www.goluckyvip.com/tag/90969.html
马来西亚物流运输专线:https://www.goluckyvip.com/tag/90970.html
马来西亚双清物流:https://www.goluckyvip.com/tag/90971.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
南美旅游报价(探索南美洲的旅行费用):https://www.vstour.cn/a/411234.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流