如何让Cookie过期是大家经常讨论的问题。但是,下面的代码,这样Cookie会过期吗?
HttpCookie objCookie = Request.Cookies["CookieTest"];
objCookie.Expires = DateTime.Now.AddDays(-1);
objCookie.Values.Clear();
Response.Cookies.Set(objCookie);
Server.Transfer("WebForm1.aspx");
答案是不会过期。因为让Cookie过期是浏览器做的事。当在服务端设定某个Cookie过期时,必须回发客户端浏览器才能生效。以上的代码使用了Server.Transfer()方法。这种方法是直接在服务端跳转页面,再返回客户端。设置Cookie的过期并没有被客户端浏览器所执行。所以在这里必须使用Response.Redirect()方法。
Response.Redirect("WebForm1.aspx");
博客讨论了服务端设置Cookie过期的问题。给出一段代码示例,指出按此代码Cookie不会过期,因为让Cookie过期需浏览器执行,原代码用Server.Transfer()方法直接在服务端跳转,设置未被客户端执行,应使用Response.Redirect()方法。
580

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



