0

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

1、SQL Server存储过程:这种方式存在的问题是数据以XML数据类型存储,使用这种方式实现需求可能有点复杂。我把它作为最后的手段。

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

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

有没有人对我应该做些什么来达到要求有什么建议?

4

1 回答 1

2

MsMQ 和 Application.Lock 绝对不是您想做的简单事情要考虑的选项。(Application.Lock() 是一个 def NO GO)

我也认为没有理由使用 XML。存储过程不依赖于 XML

创建表 [page,userip]

在页面的每个视图上

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

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

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

这可以识别其 IP 上的用户,而不是完全故障安全,因为多个用户可以来自同一个 ip。

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

于 2013-01-28T17:39:04.740 回答