是这样的,我做了个商家商城网,每个人都可以在上面注册开店,只要有人浏览 店家的网店,就给该店家积分加1,但是每天同一个IP只可以给店家加一次分,不用cookie,不用写入数据库,还有没有别的好方法?

解决方案 »

  1.   

    用Cache缓存 依赖,设置24 小时过期
      

  2.   

    //创建HttpCookie类型的对象并为它分配名称为userIDHttpCookie newCookie = new HttpCookie(“userIP”) ; //为Cookie的子项赋值,即将客户端IP地址赋给Cookie的子项,并将其命名为IPaddressnewCookie.Values.Add(“IPaddress”,UserIP);//设置Cookie的失效期newCookie.Expires=DateTime.MinValue;//将该Cookie添加到Cookies集合中Response.Cookies.Add(newCookie);   注意:在编写代码时,可以根据实际情况设置Cookie的实效期。如果没有设置Cookie失效期,他们仅保存到关闭浏览器程序为止;如果将Cookie对象的Expires属性设置为MinValue,则表示Cookie永远不会过期。当然,还可以将Cookie对象的Expires属性设置为具体某一天,例如将上述代码中Cookie对象的失效期设置为当前系统时间的下一天,代码如下:newCookie.Expires =DateTime.Now.AddDays(1);   从Cookie中获取客户端的IP地址并判断该IP地址是否已访问过网络,如果已访问过,则弹出提示框,提示用户,主要代码如下://获取客户端IP地址String UserIP=Request.UserHostAddress.ToString();//获取名为userIP的Cookie对象HttpCookie oldCookie =Request.Cookies[“userIP”];//判断该Cookie对象是否存在If(oldCookie!=null){  //从Cookie中获取客户端IP地址  String userIP =oldCookie.Values[“IPaddress”];  If(UserIP.Trim()==userIP.Trim())  {    Response.Write(“<script>alert(‘一个IP地址只能投一次票,谢谢您的参与!’);history.go(-1);</script>”);     Return;  }}
      

  3.   

    不用cookie,不用写入数据库,保存IP列表到文件~
      

  4.   

    不用cookie 不用写入数据库当然也不能使用session session不稳定 容易丢失
    使用cache也不可以。 cache也容易丢失。你可以对卖家建立一个XML文件 然后对文件进行读写。
    记录肯定是要永久保存的,不然没办法判断。
      

  5.   

    cookie这东西,都可以清除的
    用MSMQ就可以了
    首先在用户本地创建cookie,如果cookie不存在,则发送到msmq
    写个服务,一天读取一次MSMQ,把里面同一个IP,同一个商家的数据清除,再写入数据库
    OK了