我设置了一个像这样的cookie:
protected void SetCookie(bool value, int expiration)
{
var cookie = Response.Cookies[COOKIE_NAME] ?? new HttpCookie(COOKIE_NAME);
cookie.Value = value.ToString();
cookie.Expires = DateTime.UtcNow.AddDays(expiration);
Response.Cookies.Set(cookie);
}
在SetCookie函数中,当我检查最后一行的cookie时,Expiration设置为明天的日期。
但是,当我在下一页上检索此cookie时加载:
var cookie = Request.Cookies[COOKIE_NAME];
cookie存在,但到期日期是1/1/0001 12:00:00 AM
答案 0 :(得分:0)
我认为到期是客户端的事情。浏览器应发送任何未过期的cookie,但不发送过期日期(仅限名称和值)。我认为您应该重新设置并刷新每个请求的到期时间。
这是我找到的第一个格式参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cookie
如果出于某种原因需要检索到期数据服务器端,我会将其包含在cookie内容中或设置辅助cookie以包含该信息。