ASP.NET中评论的点赞怎么设置一个账号只能点一次赞??大家是怎么实现的?

问题描述

是不是除了评论表还需要一个表专门记录点赞的客户端的IP+账户ID,感觉专门为一个点赞设计一个表很耗资源。大家都是这么实现的吗????

解决方案

解决方案二:
引用楼主baidu_29273975的回复:

是不是除了评论表还需要一个表专门记录点赞的客户端的IP+账户ID,感觉专门为一个点赞设计一个表很耗资源。大家都是这么实现的吗????

只有安全的记录保障,才能保障操作的安全。这是铁律。做好索引,这样的表,哪怕是千万级的,其实也不会有太大的查询量。另外还有很多手段可以优化,比如说cookie和session记录点击过的ID,如果存在就不进行查询表信息。又或者在评论表做已经点击的用户ID字段(字符串),每次点赞的时候只需要判断这个字段是否包含某个ID值就可以了
解决方案三:
引用1楼feiyun_Web的回复:

Quote: 引用楼主baidu_29273975的回复:
是不是除了评论表还需要一个表专门记录点赞的客户端的IP+账户ID,感觉专门为一个点赞设计一个表很耗资源。大家都是这么实现的吗????

只有安全的记录保障,才能保障操作的安全。这是铁律。做好索引,这样的表,哪怕是千万级的,其实也不会有太大的查询量。另外还有很多手段可以优化,比如说cookie和session记录点击过的ID,如果存在就不进行查询表信息。又或者在评论表做已经点击的用户ID字段(字符串),每次点赞的时候只需要判断这个字段是否包含某个ID值就可以了

评论表里不好做吧。。一个字段只能存一个ID,
解决方案四:
引用2楼baidu_29273975的回复:

评论表里不好做吧。。一个字段只能存一个ID,

1,2,3,4,5,6,7,8,100,123,112int[]xx=newint[]{1,2,3,4,5,6,7,8,100,123,112};
解决方案五:
个人感觉还是记数据库比较好,当然,如果用户多了的话,不是多个表的问题,应该是数据库请求比较频繁的问题吧

时间: 2024-12-17 18:29:39

ASP.NET中评论的点赞怎么设置一个账号只能点一次赞??大家是怎么实现的?的相关文章

在ASP.NET中使用EXCEL之权限设置

在ASP.NET中使用EXCEL,首先需要对COM组件的权限进行设置.如果未设置权限,则会报访问拒绝的错误.详细错误信息通常如下: 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.UnauthorizedAccessException: 拒绝访问. ASP.NET 未被授权访问所请求的资源.请考虑授予 ASP.NET 请求标识访问此资源的权限.ASP.NET 有一个在应用程序没有模拟时使

通过代码理解Asp.net4中的几种ClientIDMode设置.

以前我们可以通过ClientID在JavaScript脚本中服务器端控件.比如: document.getElementById("<%=控件.ClientID %>"); 这种方式不方便,而且如果在有数据绑定的控件中嵌套着子控件,则访问更不太方便了. 现在,在Asp.Net4中,对于控件增加了一种新的属性,名为ClientIDMode.通过设置ClientIDMode,我们可以指定各个服务器控件如何生成ClientID,以便我们在客户端脚本中方便使用.具体如下: 1.  

asp.net中使用自定义控件的方式实现一个分页控件的代码_实用技巧

一.概述 在web开发中,常常需要显示一些数据,而为了方便排版及浏览,我们只需要显示所有记录中的一部分.一般情况下,我们采用分页来实现这个需求.实现分页的方法多种多样,在本文中,我们采用了一个分页空间来记录记录总数.当前页.总页数及页面大小等.为了有一个直观上的印象,先展示该控件运行后的效果,效果如下图所示: 二.实现方案 为了实现该效果图,在asp.net中,可以使用Custom Controls and User Controls两种方式,User Controls的实现方式及其简单,而且使

ASP.NET中内嵌页面代码的一个问题_实用技巧

比如 父页面: 复制代码 代码如下: public class BasePage : System.Web.UI.Page { public int HotelID { get { return 1; } } } 子页面: 复制代码 代码如下: public partial class UpdateAlbumAttachments : BasePage { public new int HotelID { get { return 0; } } } 则在*.aspx中写签入代码时只会读取this

asp.net中如何把DataSet插入到一个结构完全相同的数据表中

问题描述 因为数据量很大,用遍历的方法很慢,现在想改用整体插入的方法:其中ds中是有数据的,,AccountBalance是数据库中的表名.但是运行完后没有错误,但数据库的记录也没有增加.就是毫无反应.SqlDataAdapterad=newSqlDataAdapter();SqlCommandBuildercustCB=newSqlCommandBuilder(ad);stringstrSql="select*fromAccountBalance";ad.SelectCommand=

asp.net中提示该行已属于另一个表的解决方法_实用技巧

复制代码 代码如下: DataTable dt = new DataTable();dt = ds.Tables["All"].Clone();//克隆All的结构传递给dtDataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通过条件得到符合条件的行for(int i=0;i<dr.Length;i++){//将数组元素加入表...dt.Rows.Add(dr[i]

实现ASP.NET中网站访问量的统计

实现ASP.NET中网站访问量的统计.下面介绍如何进行ASP.NET中网站访问量的统计. 一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间(IP_DateTime),些表的信息本人只保存一天的信息,如果要统计每个月的信息则要保存一个月.因为我不太懂对数据日志的操作,所以创建此表,所以说我笨吧,哈哈. 二.在Global.asax中获取用户信息 在Global.asax的Session

在ASP.NET中动态生成图形(转)

asp.net|动态|图形 在ASP.NET中动态生成图形 .NET有一个很灵巧的特性,就是可以编写代码生成动态图形,然后将生成的图形保存在磁盘上或者直接将其发送到客户端的浏览器. 原理 用.NET生成图形的功能封装在System.Drawing名称空间中,它支持多种图形文件格式,包括:JPEG.GIF.PNG.TIFF.BMP.PhotoCD.FlashPIX.WMF.EMF和EXIF. 创建这些图形的通用机制是构造一个BitMap(位图)对象,它为要创建的图形提供了内存空间.然后,就可以调用

asp.net中urlmapping问题

问题描述 asp.net中urlmapping问题 web.config设置如下 <configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <urlMappings enabled="true"> <add url ="~/Default.aspx" mappedUrl=&