为什么要删除Cookie

时间:2017-01-10 14:09:12

标签: c# asp.net cookies httpcontext httpcookie

我有一个Asp.Net网站,有2个cookie。

我通过此代码创建这些cookie;

public static void CreateCookie(string Cookie)
{
  HttpCookie cookie = new HttpCookie(Cookie);
  cookie.Expires = DateTime.Now.AddYears(1);
  HttpContext.Current.Response.Cookies.Add(cookie);
}

CreateCookie("Cookie1");
CreateCookie("Cookie2");

因此,我在Chrome上看到,这两个Cookie的有效期为1年。

但是当我在1天后查看时,我发现Cookie1会被自动删除,但我会在没有进入网站的情况下检查cookie并只检查Chrome。

我无法阻止这一点。为什么会发生这种情况? 我该如何解决这个问题?

更新:
此错误仅在我自己的网站上发生 我将在另一台PC和另一台浏览器上查看此内容。

2 个答案:

答案 0 :(得分:0)

尝试通过以下方式将Cookie链接到会话:

HttpCookie authCookie = new HttpCookie(Cookie, Session.SessionID);

答案 1 :(得分:0)

您没有为Cookie设置值。添加没有值的cookie将使浏览器删除具有给定名称的cookie(如果存在)。

使用值:

public static void CreateCookie(string Cookie, string value)
{
  HttpCookie cookie = new HttpCookie(Cookie, value);
  cookie.Expires = DateTime.Now.AddYears(1);
  HttpContext.Current.Response.Cookies.Add(cookie);
}

CreateCookie("Cookie1", "Hello");
CreateCookie("Cookie2", "world");