在web中清除Cookie
想来清除cookie这么简单的事情都还有些细节需要注意的。
1 不能直接删除用户计算机中的 Cookie。但是,可以通过将 Cookie 的到期日期设置为过去的日期,让用户的浏览器来删除 Cookie。当用户下一次向设置该 Cookie 的域或路径内的页发出请求时,浏览器将确定该 Cookie 已到期并将其移除。
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
{
HttpCookie myCookie = new HttpCookie("UserSettings");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
2 调用 Cookies 集合的 Remove 方法可从服务器端的集合中移除 Cookie,使 Cookie 不会被发送至客户端。但是,如果客户端已存在 Cookie,则该方法无法从客户端将其移除。这时进行两次移除就不会再有cookie保留了.
if (Request.Cookies["UserSettings"] != null)
{
HttpCookie cookie = Request.Cookies["UserSettings"];
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
Request.Cookies.Remove("UserSettings");
}
{
HttpCookie cookie = Request.Cookies["UserSettings"];
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
Request.Cookies.Remove("UserSettings");
}