如何在 ASP.NET Core 中设置永不过期的 cookie?
How to set never-expiring cookie in ASP.NET Core?
我想设置一个 "never" 过期的 cookie,这意味着将其设置为 2^31 - 1
,这是一个绝对 value/date 而不是偏移量,以避免 2038 wrap-around bug.
要在 ASP.NET 核心中设置 cookie:
Response.Cookies.Append("name", "value", new CookieOptions() { /*...*/ })
由于 bug,我无法使用 DateTime.MaxValue
等等。我应该为 CookieOptions
使用什么?
我决定像这样硬编码值:
var co = new CookieOptions();
co.Expires = new DateTimeOffset(2038, 1, 1, 0, 0, 0, TimeSpan.FromHours(0));
这避免了 2038 problem。
我想设置一个 "never" 过期的 cookie,这意味着将其设置为 2^31 - 1
,这是一个绝对 value/date 而不是偏移量,以避免 2038 wrap-around bug.
要在 ASP.NET 核心中设置 cookie:
Response.Cookies.Append("name", "value", new CookieOptions() { /*...*/ })
由于 bug,我无法使用 DateTime.MaxValue
等等。我应该为 CookieOptions
使用什么?
我决定像这样硬编码值:
var co = new CookieOptions();
co.Expires = new DateTimeOffset(2038, 1, 1, 0, 0, 0, TimeSpan.FromHours(0));
这避免了 2038 problem。