我要为文章创建一个视图计数器。我有一些问题:
当
Dictionary<int, int> (articleId,viewCount)中存储每篇文章被浏览多少次。经过100次点击后,我可以更新数据库。对于每一个问题,我想知道你的建议,如何正确地做它。
我特别感兴趣的是如何做#3。我应该把用户打开文章的时间存储在cookie中吗?这是否意味着我应该为每一页创建一个新的cookie?
发布于 2010-08-28 19:50:23
我想我知道答案了--他们正在分析IIS日志,就像Ope建议的那样。
隐藏图像src设置为
http://stackoverflow.com/posts/3590653/ivc/[Random code]需要使用随机代码,因为许多人可能共享相同的IP (例如,在网络中),并且代码用于区分用户。
发布于 2010-08-28 12:44:02
,
当然,ASP.NET应用程序或会话范围是最简单的选择,但是您确实需要理解应用程序池的逻辑。ASP.NET应用程序不时被回收:当站点在某一段时间或特殊情况下没有动作时--例如,如果进程占用过多内存,则应用程序将被关闭,并在下一个请求中启动一个新的应用程序。有些事件需要会话和应用程序关闭,但至少在几年前,它们并不是真正可靠的:在许多特殊情况下,它们并不总是被触发。也许他们现在更好了,但这是痛苦的考验。而1小时真的是很长的时间:通常会议只在上次请求后20分钟才能存活。
一种可靠的方法是拥有一个单独的Windows服务(需要编写大量的程序),或者总是通过双视图分析将其存储到数据库中(对于这样一个小的特性来说,这是相当大的开销)。
您可以访问IIS日志吗?分析IIS日志如何?例如,每30分钟使用某种计时器处理并从中获取计数?或者用用户信息将所有点击存储到数据库中,并使用类似的时间进程计算唯一的点击量。
最后一个问题:你真的确定互联网上成千上万的计数器应用程序/服务中没有一个不符合你的要求吗?
祝好运!
发布于 2010-08-28 13:37:20
这是Firebug中这个页面的截图。您可以看到,有一个请求返回204状态代码(无内容)。
这是堆栈溢出的视图计数器。他们使用的是一个隐藏的图像,指向控制器的动作。
我有很多文章。如何跟踪用户已经访问过的文章?
顺便问一下,为什么这个请求被提出了两次?

https://stackoverflow.com/questions/3590653
复制相似问题