【问题标题】:How to use cookies to store multiple values [closed]如何使用 cookie 存储多个值 [关闭]
【发布时间】:2015-06-28 23:42:01
【问题描述】:

我创建了一个网站,用户可以在其中播放视频和歌曲。 现在我想让用户知道他/她以前播放过哪些歌曲或视频。为此,我使用了持久性 cookie。

  1. 但是如果用户播放的歌曲太多,那么如何将每首歌曲的信息存储在 cookie 中?
  2. 是否应该在每次用户播放新歌曲/视频时使用新的 cookie?如果是,那怎么办?因为如果我这样做了,就会创建大量的 cookie。如果否,那还有什么选择?
  3. 使用 cookie 是实现这一目标的正确方法吗?

我以前没有使用过 cookie,所以我很困惑。

【问题讨论】:

  • 您为什么要为此使用 cookie?似乎这些数据应该存储在数据库中的服务器上,这样就不会被意外清除,或者在移动到新的计算机/设备等时丢失......
  • 我想让用户知道他/她在 youtube 上看过哪些歌曲。
  • 就像@NathanKoop 提到的,您需要将最后播放的歌曲存储在数据库中。但是如果你仍然想将它存储在客户端,那么你可以使用本地存储,但即使这样也会在一段时间后用完。
  • @AnilKumar 你没有说明你为什么使用cookies,一个更好的解决方案似乎是使用数据库(如SqlServer),在用户选择电影并且你的服务器返回它的请求中,然后只需向表中插入一个小型数据库(UserMoviesStarted [UserId],[MovieId],如果需要,其他信息,如 [DateTimeStarted])
  • 你的用户应该已经登录了吧?我不知道您使用的是什么身份验证,但如果您使用的是默认的 ASP.net 框架,请查看 HttpContext.User (msdn.microsoft.com/en-us/library/…) 之类的内容

标签: c# asp.net cookies


【解决方案1】:

我不得不同意其他人的观点,cookie 不是此类信息的最佳位置,但是....如果您也想要,那么您可以使用 JQuery 插件来创建和保存这种配置文件信息。

第三种选择是使用本地文件、JSON 或 XML 作为小型数据存储。这将比 cookie 更不稳定,并且不需要 sql 或其他 db 的依赖。

在实现时,将读/写置于某种 API 服务之后,以使获取和设置更容易一些。

只是一些选项。

Jquery cookie 选项示例how to save data in a cookie using jquery

【讨论】:

  • xml如何识别没有登录的用户
  • 就像在 db 示例中一样,您必须拥有某种标识符,然后可以在 XML 文档中查找该标识符。 id 可以存储在客户端 cookie 中。因此,要查找数据,您将获得存储在 cookie 中的 id,然后使用 XPath 通过 id 从 XML 中检索数据。 XML 可能类似于:popsicle ToesOperator
  • Xpath 示例here
猜你喜欢
  • 1970-01-01
  • 2018-08-21
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2012-04-30
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多