今天终于弄清楚,为什么cookie总在关闭浏览器有消失了,原来还因为是弹出窗口冲突的问题。。。
都怪自己苯苯
昨天的写法
if (Request.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID] == null)
...{
Response.Cookies.Add(new HttpCookie(Cookie.CCookieManage.COOKIE_TEMPUSERID));
}
Response.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID].Domain = "buildbook.com.cn";
//错误就在这里,不能这样直接设置时间
Response.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID].Expires = DateTime.Now.AddDays (10); //延长十天有效
UserID = Request.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID].Value;
//如果cookie不存在userid,生成临时用户名
if (string.IsNullOrEmpty(UserID))
...{
CMemberRule MemberRule = new CMemberRule();
UserID = MemberRule.GenerateTempUserName();
Response.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID].Value = UserID;
}

修改后写法
//添加cookie
HttpCookie TempUserCookie = new HttpCookie(Cookie.CCookieManage.COOKIE_TEMPUSERID);
TempUserCookie.Domain = "buildbook.com.cn";
TempUserCookie.Expires = DateTime.Now.AddDays(10);
if (Request.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID] != null)
...{
UserID = Request.Cookies[Cookie.CCookieManage.COOKIE_TEMPUSERID].Value;
Response.Cookies.Remove(Cookie.CCookieManage.COOKIE_TEMPUSERID);
}
//如果userid不存在,生成临时用户名
if (string.IsNullOrEmpty(UserID))
...{
CMemberRule MemberRule = new CMemberRule();
UserID = MemberRule.GenerateTempUserName();
}
TempUserCookie.Value = UserID;
//添加cookie
TempUserCookie.Value = UserID;
Response.Cookies.Add(TempUserCookie);
本文探讨了Cookie在浏览器中消失的原因,并提供了一种解决方案。通过调整Cookie的设置方式,确保其能够在预期的时间内保持有效。

被折叠的 条评论
为什么被折叠?



