2012-04-18 32 views
-2

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

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

这种技术并不检查请求是否来自网络爬虫,机器人或任何其他垃圾邮件发送者服务器,这些服务器可能会在新会话中请求多个页面,这些页面会膨胀数字。

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

就像ajax隐藏的请求制造商一样,加载我的每个页面并告诉服务器我的网站已经打开。

谢谢。

+1

您可以查看Google Analytics,但我不知道他们的定价模式是什么。我已经使用过它,但它很好地工作。 – SouthShoreAK 2012-04-18 15:08:22

回答

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事件来执行相同的事件。

+0

这不是百分之百准确,但看起来接近结果。 – 2012-07-07 07:32:51

1

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

相关问题