如何查看我的asp.net网站的实时访问者数量?

时间:2012-04-18 14:57:21

标签: javascript asp.net ajax statistics

如何查看我的asp.net网站的当前访客数量?我已经熟悉了以下技术,但它并不接近准确的结果。

  • 创建应用程序变量Application [“UserCount”]
  • 在会话开始时增加
  • 在会话结束时减少它

此技术不会检查请求是来自网页抓取工具,漫游工具还是任何其他垃圾邮件发送者服务器,这些服务器可能会在新会话中请求多个页面,这会使数字膨胀。

我想确保一个人打开了一个浏览器(手机或桌面)来查看我的网站,即使他正在同一个窗口或不同的窗口中查看其他网站但至少我的网站至少打开一个网站标签或一个窗口。

像ajax隐藏的请求制作者那样加载我的每个页面并告诉服务器我的网站是开放的。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以查看请求中的用户代理。您可以使用Request.Browser.Crawler检查请求是否来自搜索引擎抓取工具。如果浏览器是爬虫,它将返回true。

您还可以使用对页面的javascript调用来更新访问者计数。这可以与上述技术相结合,以确保只有在请求是真实用户时才更新访问者计数。减少用户数时,还应检查请求是否为爬网程序。例如

        //increase the user count
        if (Request.Browser.Crawler == false)
        {
            Application["user_count"] = +1;
        }

        //decrease the user count
        if (Request.Browser.Crawler == false)
        {
            Application["user_count"] = -1;
        }

您还可以在应用程序的global.asax文件中使用Session_End和Session_Start事件来执行相同的事件。

答案 1 :(得分:1)

您可以使用应用程序存储数据。它对于网站或Web应用程序的早期阶段来说完全没问题。但是,您可能需要在加载站点时查看应用程序状态的多个访问问题。