使用c#在网站上点击次数

时间:2011-09-23 10:32:05

标签: .net

任何人都可以通过回答我的问题来帮助我。 这是问题...... 我们如何使用c#

计算当天网站点击次数

谢谢, 巴拉斯

5 个答案:

答案 0 :(得分:1)

您可以创建google analytics account并将javascript放在您的网站上。然后谷歌分析将为你做这件事

答案 1 :(得分:1)

只需创建一个计数器和一个持久化方法来保持值。这可以是文件或数据库。

以下代码用于学习建议,您应该使用现有服务,因为效率更高,如果发生多次点击,您将不会遇到锁定问题在同一时间

创建一个新类,例如:

public static class PageHitCounter
{
  private String fileTemplate = "dailyHits_{0:yyyyMMdd}.txt";
  private DateTime now = DateTime.Now;

  public static void Add() 
  {
    // we'll create one file per day
    // lets append a new user hit to a file
    TextWriter tw = new StreamWriter(getFilename(now), true);
    // let's write the date and something else, f.ex. the browser info
    tw.WriteLine(String.Format("{0:dd-MM-yyyy};{1}", 
                               now, 
                               Request.ServerVariables["HTTP_USER_AGENT"]);
    // close the file
    tw.Close();
  }

  public static int Count(DateTime day) 
  {
    int hits = 0;
    // let's open the file and count how many lines, 
    //    as we are adding one line per hit
    using (var reader = File.OpenText(getFilename(day)))
      while (reader.ReadLine() != null)
        hits++;
    return hits;
  }

  private string getFilename(Datetime day) 
  { 
    return Server.MapPath("~/App_Data/" + String.Format(fileTemplate, day));
  }
}
代码中的

Page_Load(...) {

    PageHitCounter.Add();

}

当你想看多少次点击时,可以使用

PageHitCounter.Count( DateTime.Now );

如果您有很多页面并且不希望在每个页面上执行此操作,并且假设您的项目是WebForms,则可以创建MasterPage并将此Add()附加到MasterPage OnLoad事件或您可以创建自己的页面并实现代码。


作为一个选项来解决您的真实问题,您可以使用Woopra service获取实时结果,我在某些论坛中使用它并且很可爱看到所有用户,您只需要创建一个帐户并在你的所有页脚中使用他们的javascript代码(通常我们使用母版页,只是附加在一个文件中)

答案 2 :(得分:0)

网页中必须有嵌入代码才能计算点击次数。您无法直接访问此信息。

答案 3 :(得分:0)

这适用于您的网站,还是课堂作业?

有很多现有工具可以为您提供大量关于点击次数,访问者类型,各种行为指标等的信息等等...它更实用,但不是用C#。

如果这是一个类作业 - 您可以在网站上增加一个计数器并将其保存到文件系统或数据库中。

以下是您可以查看和修改以跟踪每日点击次数的CodePlex示例 http://www.codeproject.com/KB/custom-controls/EasyHit.aspx

答案 4 :(得分:0)

阅读文章,这可能对您有所帮助

http://imar.spaanjaars.com/238/howto-create-a-hit-counter-using-a-database-in-aspnet-1x-with-c-sharp

这与C#和Microsoft Access数据库一起开发。 但为了更好的性能,请使用SQL数据库