c# – 在内容页面之间遍历时,cookie值消失
在我的应用程序中有一个登录机制,用于保存一个cookie,其中包含刚刚登录的用户的信息
private void CreateCookie(LoginEventArgs args) { HttpCookie cookie = new HttpCookie("user"); cookie.Values["name"] = args.User_Name; cookie.Values["id"] = args.ID; cookie.Expires = DateTime.Now.AddDays(1); Response.Cookies.Add(cookie); } 在我的母版页面加载我执行检查以查看此cookie是否存在: HttpCookie cookie = Request.Cookies["user"] ; if( (cookie != null) && (cookie.Value != "")) { if (Session["user"] == null) Login_Passed(this,new LoginEventArgs(cookie.Values["name"].ToString(),int.Parse(cookie.Values["id"]))); } 现在如果我登录(创建一个cookie),关闭浏览器,然后运行我的应用程序.再次cookie 如果我首先从启动内容页面重定向到不同的内容页面 问题是当我第二次重定向回到不同的内容页面时, 关于为什么会这样的想法? 也许我退出的方式可能是这个问题的原因: 当我注销时,我创建一个与1天前相同名称的cookie. private void Remove_Cookie() { HttpCookie cookie = new HttpCookie("user"); cookie.Expires = DateTime.Now.AddDays(-1); Response.Cookies.Add(cookie); } 在iv’e描述我没有正式退出的情况下,我只是结束我的应用程序,所以这不应该 解决方法
哦,问题是不可想象的
特别感谢Peter Bromberg http://www.eggheadcafe.com/tutorials/aspnet/198ce250-59da-4388-89e5-fce33d725aa7/aspnet-cookies-faq.aspx 在“消失的Cookie”一文的部分 作者说,如果你有一个关于Response.Cookies [“cookie_name”]的手表 我使用了这样的手表,这使我的饼干松散了它的价值,当我把它取下时,饼干保留了它的价值. 道德是不要观看Response.Cookies [“”] if( Response.Cookies["cookie_name"] != null ) 例如,它也被覆盖. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |