【问题标题】:How to clear cookie in asp.net mvc?如何清除asp.net mvc中的cookie?
【发布时间】:2017-08-14 15:47:11
【问题描述】:

我已经尝试了以下方法,但是 cookie 在给定时间后没有过期。 你能看看我的代码吗

System.Web.HttpCookie currentUserCookie = System.Web.HttpContext.Current.Request.Cookies["Userdata"];
System.Web.HttpContext.Current.Response.Cookies.Remove("Userdata");
currentUserCookie.Expires = DateTime.Now.AddMinutes(10);

谁能帮帮我?

【问题讨论】:

  • 您要清除它还是将其设置为在未来 10 分钟后过期?
  • 我想在 10 分钟后使 cookie 过期。之后用户数据必须为空
  • cookie 在页面加载时自动过期。我该如何防止呢?

标签: c# asp.net asp.net-mvc asp.net-mvc-4 cookies


【解决方案1】:

您需要使用 Response 对象写回浏览器:

if ( Request.Cookies["MyCookie"] != null )
{
    var c = new HttpCookie( "MyCookie" );
    c.Expires = DateTime.Now.AddDays( -1 );
    Response.Cookies.Add( c );
}

MSDN 上的更多信息:https://msdn.microsoft.com/en-us/library/ms178195.aspx

【讨论】:

  • 我想在 10 分钟后清除 cookie。这个怎么用?
  • 或者我们可以在cookie过期后将过期时间设置为零
  • @RahulBridge,这就是 Cookie.Expires 所做的,你可以设置任何你想设置的过期时间。看到这个stackoverflow.com/questions/5122404/…
  • 在清除 cookie 后我得到了这样的域:null 过期:{0001-01-01 00:00:00} HasKeys:false HttpOnly:false 名称:“Userdata”路径:“/”安全: false Shareable: false Value: "" Values: {} 我需要检查 cookie 是否过期我想返回 null 。那么我该如何检查呢?如果我正在清除 cookie
  • 你应该在创建它的时候在HttpResponse对象中添加cookie,如果不是很明显你不会得到它。在规定的时间内加载页面多少次并不重要,只有在加载时您才应该检查 cookie 是否为 null 或者不创建新的 cookie
猜你喜欢
  • 2011-07-04
  • 1970-01-01
  • 2013-12-11
  • 2012-05-23
  • 2017-07-15
  • 2014-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多