ASP.NET - 在数据库中存储文章查看计数

本文关键字:文章 存储 NET 数据库 ASP | 更新日期: 2023-09-27 17:56:17

我正在构建一个类似的 Wiki/博客应用程序,我有一个关于存储每篇文章的查看计数的最佳方式的问题。 要求是我只想存储查看文章的唯一用户数,而不是总查看次数。 到目前为止,我已经提出了 3 种不同的方法来实现:

1.SQL服务器存储过程:这种方法的问题在于数据存储在XML数据类型中,使用此方法达到要求可能有点复杂。我把这作为最后的手段。

2. MSMQ:这将很好用,因为我可以串行处理请求。这种方法的唯一问题是,我无法确保在主机服务器上安装了 MSMQ。这个是不可能的!

3.使用Application.Lock()我知道使用这种方法我可以锁定对Application对象的访问,更新应用程序中的某些条目,更新数据库,然后调用Application.Unlock()。虽然这听起来是一种功能方法,但它仍然感觉像是一种解决方法。

有人对我应该怎么做才能达到要求有建议吗?

ASP.NET - 在数据库中存储文章查看计数

MsMQ和Application.Lock不是你想做的简单事情的def选项。 (Application.Lock()是一个def NO GO)

我也看不出 XML 的理由。存储的过程不依赖于 XML

创建表[页面,用户IP]

在页面的每个视图上

insert into <table>(page,userip) values(@page,@userip)

对于统计信息,只需发出查询

select count(*) from <table> group by userip having page=@page

这在其 IP 上标识用户,而不是完全故障安全,因为多个用户可能来自同一个 IP。

但是为什么不调查谷歌分析呢?您需要的所有信息(以及更多)