有人可以建议为什么我的ASP.NET生成的cookie会在不到一个小时内到期,而不是它们被设置为14天吗?
我已经阅读过其他类似的Stack问题,但我读到的所有内容都围绕着Session,formtickets,表单身份验证等。这纯粹是一个cookie问题。它应该与web.config或machine.config无关,而与IIS内存中的会话无关。只是老式的饼干。
这是我的功能:
public static void WriteCookie(string cookieName, string cookieValue, int expireDays)
{
if (!string.IsNullOrEmpty(cookieName))
{
HttpCookie cookie = new HttpCookie(cookieName, cookieValue);
cookie.Expires = DateTime.Now.AddDays(expireDays);
HttpContext.Current.Response.Cookies.Add(cookie);
}
}
在这个例子中,我将过期数字14过期。 Cookie总是在不到一个小时(可能只有20分钟)到期。看起来它们的行为就像会话cookie一样,一旦会话消失就会消失。他们应该坚持14天。我几乎准备好恢复使用javascript cookies,因为我知道那些人总是正确地过期。
以下是检索cookie的代码:
public static string ReadCookie(string cookieName)
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
return cookie == null ? string.Empty : cookie.Value;
}
有什么想法吗?