如何唯一计算每个特定页面的访问次数

时间:2012-01-29 11:51:16

标签: asp.net cookies unique

让我们从场景开始:

该应用程序的产品部分包含+100个产品,每个产品的详细信息页面都需要“访问次数”字段,该页面显示此产品的访问次数。

每当某位访问者在页面上刷新时,您需要阻止此访问计数+1,
但是您希望允许该用户的访问计入第二天访问。

因此,如果您选择cookie方法,则每个产品的单个访问者需要1个cookie。因为使用带有子密钥的单个cookie,您无法确定哪个子密钥(产品)应该过期,因为整个cookie将在给定时间到期。

同样由于产品太多,对于想要浏览所有产品的好奇访问者来说,拥有+100个cookie(或带有100个子密钥的单个cookie)几乎是无意义(并且不允许)。

你的建议是什么?

3 个答案:

答案 0 :(得分:1)

您只需要一个cookie来唯一标识用户。

然后,您可以在产品页面日志的页面加载中查看哪个用户查看了哪个产品。

然后,您会看到所有访问的列表,您可以从此列表中选择每个用户的唯一每日访问次数。

答案 1 :(得分:0)

我认为两种可能的解决方案是通过设置cookie或记录IP地址,最后一个会不时更改,所以你只有第一个选项可以使用,关于cookie时间你可以设置它很长一段时间都很难过期。

答案 2 :(得分:0)

为什么不使用数据库?您可以创建一个表来存储此类列表:

  • PRODUCT_ID
  • USER_ID
  • 日期

然后在每次访问中,您可以检查当前用户是否已访问当前产品。如果是这样,什么也不做。如果没有,请添加一条记录。

然后,您可以定期执行每10分钟处理此列表的任务,并相应地更新视图字段。