【发布时间】:2015-06-28 23:42:01
【问题描述】:
我创建了一个网站,用户可以在其中播放视频和歌曲。 现在我想让用户知道他/她以前播放过哪些歌曲或视频。为此,我使用了持久性 cookie。
- 但是如果用户播放的歌曲太多,那么如何将每首歌曲的信息存储在 cookie 中?
- 是否应该在每次用户播放新歌曲/视频时使用新的 cookie?如果是,那怎么办?因为如果我这样做了,就会创建大量的 cookie。如果否,那还有什么选择?
- 使用 cookie 是实现这一目标的正确方法吗?
我以前没有使用过 cookie,所以我很困惑。
【问题讨论】:
-
您为什么要为此使用 cookie?似乎这些数据应该存储在数据库中的服务器上,这样就不会被意外清除,或者在移动到新的计算机/设备等时丢失......
-
我想让用户知道他/她在 youtube 上看过哪些歌曲。
-
就像@NathanKoop 提到的,您需要将最后播放的歌曲存储在数据库中。但是如果你仍然想将它存储在客户端,那么你可以使用本地存储,但即使这样也会在一段时间后用完。
-
@AnilKumar 你没有说明你为什么使用cookies,一个更好的解决方案似乎是使用数据库(如SqlServer),在用户选择电影并且你的服务器返回它的请求中,然后只需向表中插入一个小型数据库(UserMoviesStarted [UserId],[MovieId],如果需要,其他信息,如 [DateTimeStarted])
-
你的用户应该已经登录了吧?我不知道您使用的是什么身份验证,但如果您使用的是默认的 ASP.net 框架,请查看
HttpContext.User(msdn.microsoft.com/en-us/library/…) 之类的内容