统计网站的在线人数

简介: 统计网站的在线人数

第一步: 先在系统中创建一个表,这个表用来存储每个用户的ip.

在Application_Start中添加以下代码。

Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' 在应用程序启动时运行的代码
        Dim dt As DataTable = New DataTable()
        dt.Columns.Add("UIP", GetType(String))
        Dim pk(1) As DataColumn
        pk(0) = dt.Columns("UIP")
        dt.PrimaryKey = pk
        Application("DT") = dt
        dim count as integer=0
        Application("count")=count
 End Sub

第二步:

 Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
        ' 在新会话启动时运行的代码
        Dim ip As String = Request.ServerVariables("REMOTE_ADDR").ToString  '获取客户端IP地址
        Dim dt As DataTable = Application("DT")
       If dt.Rows.Contains(uid) Then
              Application.Lock()
              Dim Row As DataRow = dt.NewRow()
              Row("UIP") = uid
              dt.Rows.Add(Row)
              Application.Set("DT", dt)
             dim count  as integer=Application("count")
             count+=1
             Application.set("count",count)
             Application.UnLock()
       End If
End Sub

第三步:

 Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
        Application.Lock()
        Dim ip As String = Request.ServerVariables("REMOTE_ADDR").ToString 
        Try
            Dim i As Integer
            Dim dt As DataTable = Application("DT")
            Dim len as integer=dt.Rows.Count - 1
            For  i = 0  To  len
           Dim row As DataRow = dt.Rows(i)
                If row("UIP").ToString.Equals(ip) Then
                    dt.Rows.Remove(row)
                    Exit For
                End If
            Next
            Application.Set("DT", dt)
             dim count  as integer=Application("count")
             count-=1
             Application.set("count",count)
            Application.UnLock()
        Catch ex As Exception
        End Try
    End Sub

最后要在web.config文件中设置

sessionstate 模式设置为 ' InProc ',因为只有设置为InProc才会触发Session_End

相关文章
|
2月前
|
存储 前端开发 NoSQL
如何优雅地实现在线人数统计功能:技术干货分享
在现代Web开发中,实时在线人数统计是一个常见且重要的功能,它不仅提升了用户体验,还能为网站运营者提供宝贵的数据支持。今天,我们将深入探讨如何优雅地实现这一功能,结合前端展示、后端处理及数据存储等多个方面,为您呈现一套完整的技术解决方案。
281 5
|
缓存 运维 前端开发
如何设计一个70W在线人数的弹幕系统文章分析
如何设计一个70W在线人数的弹幕系统文章分析
91 3
|
前端开发 JavaScript 网络协议
分析“如何设计一个 70w 在线人数的弹幕系统”
分析“如何设计一个 70w 在线人数的弹幕系统”
97 0
|
前端开发
如何设计一个70w在线人数的弹幕系统
如何设计一个70w在线人数的弹幕系统
|
缓存 运维 前端开发
关于“如何设计一个 70w 在线人数的弹幕系统”的总结
关于“如何设计一个 70w 在线人数的弹幕系统”的总结
|
前端开发 算法 JavaScript
如何设计一个 70w 在线人数的弹幕系统 ?
如何设计一个 70w 在线人数的弹幕系统 ?
73 0
|
小程序 数据挖掘 BI
如何统计游戏中的数据
文主要内容是教你如何统计小游戏中的数据,强烈建议收藏,因为你迟早会在自己的小游戏中用到。 如果你没有任何的游戏开发经验,欢迎观看我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。
167 0
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
1、统计文本中性别为“男”的用户数。2、统计每个省(或直辖市)用户数。
|
SQL BI Shell
报表统计_广告投放统计_代码实现 | 学习笔记
快速学习报表统计_广告投放统计_代码实现
101 0
报表统计_广告投放统计_代码实现 | 学习笔记
|
开发者
网站访问量统计小案例 | 学习笔记
快速学习网站访问量统计小案例。
283 0