【问题标题】:How to replace a HttpCookie in MVC3如何在 MVC3 中替换 HttpCookie
【发布时间】:2014-01-14 15:00:42
【问题描述】:

这个问题很简单:

如何在 MVC3 中替换 HttpCookie? (假设我们可以访问HttpContext 实例)

【问题讨论】:

  • 您尝试的解决方案是什么?
  • cookie持有AuthenticationTicket,我需要更新AuthenticationTicket里面的一些数据,然后重新添加到cookie中。

标签: c# asp.net-mvc-3 httpcookie


【解决方案1】:

使用SetCookie

var cookie = Request.Cookies["cookieName"];
if (cookie != null)
{
    cookie.Value = "new value";
    Response.SetCookie(cookie);
}

【讨论】:

  • 我有一个问题。当调用Response.Cookies.Remove("CookieName"); 客户端浏览器仍然持有这个cookie?我看到了一些 Expiration=DateTime.Now.AddDays(-1)... 的例子……你能解释一下两者的效果吗?
  • 如果可行,我会做一些测试,我会将其标记为答案。谢谢!
  • @Christian 是的,服务器无法控制客户端。 Remove 所做的只是确保 cookie 不会随请求一起发回。使浏览器删除 cookie 的唯一方法是使其过期。
  • 我做了一些测试,结果是肯定的:)。希望水下没有岩石。我将其标记为答案!非常感谢您的帮助!
  • @Christian 你应该对这种方法没问题,这是推荐的方法。
猜你喜欢
  • 2012-07-19
  • 2015-06-05
  • 1970-01-01
  • 2014-02-13
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
  • 2014-12-17
  • 1970-01-01
相关资源
最近更新 更多