因此,我的管理层要求我采用一种方法,让用户将我网站中的页面标记为“最喜欢的”,并让它们出现在一个特殊的列表中。该站点具有静态结构(我不生成页面)。我想知道做到这一点的最佳方法。我的第一个想法是将它存储在数据库中(因为用户信息也存储在那里),但我想我也可以使用 ASP.NET 的 Profile 属性。还有其他我没有考虑过的方法吗?大家会怎么做呢?
问问题
253 次
3 回答
3
我会使用数据库,主要是因为我想存储具有某些属性的事物列表(特别是urls列表,以及页面标题的详细信息、收藏的用户等)。我很可能会在我的数据库中做这样的事情:
FavoritePages
*************
pageId (pk, int)
title (string)
url (string)
Favorites
*********
userId (fk)
pageId (fk)
如果您使用配置文件属性,您将为每个用户维护一个链接列表,基本上在每个用户的(序列化?)字符串中(因为这就是配置文件属性的存储方式......)。如果一个页面的标题或 url 发生变化,您将无法更新它并将其反映在所有用户的页面上。
于 2010-03-11T14:49:27.333 回答
2
当存储多条信息以将其存储在一个单独的表中时,您很可能会获得更好的性能,例如 UserId、PageUrl、PageTitle 或类似的东西,以便信息一次全部可用。
这也使您可以集中访问公共链接,如果您从系统中删除一个页面,您可以快速将其从“收藏夹”系统中删除。
于 2010-03-11T14:46:29.193 回答
0
我会去数据库。让人们为页面投票并记住投票,因此人们可以更改他们的投票。计算总数和/或平均值(取决于投票机制)并从那里获取。
如果您谈论单用户系统(不将用户 A 的投票与用户 B 的投票相关联),您可以使用配置文件 mechainsm,因为无论如何您都会存储一个小列表。您所做的是有效地查询那些的机制(作为管理员)。
很大程度上是基于个人喜好的设计决定。可以在两个方向上进行论证。我可能会选择数据库——考虑到更容易维护和以后的扩展。
于 2010-03-11T14:52:10.587 回答