我有一个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和另一台浏览器上查看此内容。
答案 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");