【问题标题】:Cookie contains multiple values?Cookie 包含多个值?
【发布时间】:2012-08-13 19:47:40
【问题描述】:

我在使用 Response.Cookies.Add(cookie) 添加持久性 cookie 时遇到问题,但如果用户已经拥有具有该名称的 cookie,这似乎是在添加值。我认为最终在 cookie 中有多个值,这不是我想要的。我应该改用.Set 吗?

请注意,cookie 可能包含以前访问的值,我希望用新值覆盖它,而不是保留多个值。

【问题讨论】:

  • 您如何尝试获取之前发送的 cookie 值?
  • @FelipeOriani 使用 cookie 的 .Value 属性。

标签: asp.net cookies


【解决方案1】:

Cookie 是一个关联数组,这意味着它们是键值对的集合,并且与表单一样,如果给定键具有多个值,则其值将是一个数组。

密钥按域隔离,因此 google.com 可以有一个与您的名称相同的 cookie,这不会导致任何冲突。有人与您尝试设置的 cookie 名称相同,这是怎么回事?他们以前访问过您的网站吗?

也许您应该尝试 GET cookie,然后按照您的建议对其进行 SET 更新。

【讨论】:

  • 不,这一切都在我们的一个域内发生。我会去我们的网站(secure.blah.com,它在 blah.com 级别设置一个 cookie),然后我会回来,应该用不同的值替换 cookie,而不是添加值。
【解决方案2】:

我发现这样做的原因是,如果您有一个 cookie x 和 .mydomain.com 并尝试在 .subdomain.mydomain.com 上设置另一个 cookie x,那么当您阅读来自 .subdomain.mydomain.com 的 cookie xAddSet 的选择与我的问题无关,只是我误解了 cookie 和子域的交互方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-08
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2018-03-08
    • 2019-12-28
    相关资源
    最近更新 更多