ASP.NET中Cookie的默认超时时间是多少?
首先需要纠正一个概念错误:Cookie不是可执行程序,它是服务器发送到客户端浏览器的小型文本文件,主要用于存储少量用户状态信息。
关于ASP.NET中Cookie的默认超时时间,分两种场景:
- 会话Cookie(未设置过期属性):这类Cookie没有固定超时时长,生命周期与浏览器会话绑定,用户关闭浏览器时Cookie自动失效。
- 显式创建但未指定过期时间:无论是ASP.NET Framework还是ASP.NET Core,若创建Cookie时未设置
Expires或MaxAge属性,默认都会被视为会话Cookie,同样遵循浏览器关闭即失效的规则。
如果需要让Cookie持久化保存,必须通过代码手动指定过期时间,示例如下:
// ASP.NET Framework 创建持久化Cookie HttpCookie myCookie = new HttpCookie("UserPrefs"); myCookie.Value = "darkMode=true"; myCookie.Expires = DateTime.Now.AddDays(30); // 设置30天后过期 Response.Cookies.Add(myCookie); // ASP.NET Core 创建持久化Cookie var cookieOpts = new CookieOptions { Expires = DateTimeOffset.Now.AddMonths(1) // 设置1个月后过期 }; Response.Cookies.Append("UserPrefs", "darkMode=true", cookieOpts);
内容的提问来源于stack exchange,提问作者Shveta Yadav
相关产品推荐
相关产品推荐

